首页 / MYSQL / 自动化运维——一键安装MySQL
自动化运维——一键安装MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了自动化运维——一键安装MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6715字,纯文字阅读大概需要10分钟。
内容图文
本文主要是自动安装MySQL5.7.11版,Linux版脚本在CentOS7系统下测试通过。 流程如下: a. 增加mysql用户和组 b. 检查系统是否安装有老版MySQL,如果有就卸载。 c. 卸载OS预装的Maria DB. 由于MariaDB与MySQL水火不容,须将系统预装的MariaDB卸载后再安装mysql. b. 安装MySQL, 本次是采用RPM包的方式安装,相对简单些;当然也可以使用源码包编译安装,稍微耗时。 c. 修改配置文件my.ini,添加一条语句,增加UTF8字符支持。 d. 修改root用户密码及权限。先在my.ini文件中添加skip-grant-tables,使其跳过认证,然后无密码登陆数据库,配置密码和权限后,要把配置文件中刚才加入的skip-grant-tables注释掉,否则会报错。 e. 根据需要创建相应emm数据库及用户. f. 初始化数据库。#!/bin/bash #created by Kevin 2016/03/30, modify 2016/04/20 # ----------------------------------------------------------------------------- # Installation Script for the auto-deployment EMM(Linux edition) # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # shell script to install MySQL (default version mysql-community-5.7.11) echo "-----------------------start install mysql----------------------" # Add to mysql user and mysql group if [ `grep "mysql" /etc/passwd | wc -l` -eq 0 ];then echo "adding user mysql" groupadd mysql useradd -r -g mysql mysql else echo "mysql user is exist" fi # check installed mysql or not for i in `rpm -qa | grep "mysql"` do rpm -e --allmatches $i --nodeps done # Remove pre-installed on OS MariaDB if exists for i in $(rpm -qa | grep mariadb | grep -v grep) do echo "Deleting rpm --> "$i rpm -e --nodeps $i done # Install mysqlserver rpm -ivh mysql-community-server-5.7.11-1.el7.x86_64.rpm mysql-community-client-5.7.11-1.el7.x86_64.rpm mysql-community-common-5.7.11-1.el7.x86_64.rpm mysql-community-libs-5.7.11-1.el7.x86_64.rpm # check the installtation was successful or not rpm -qa |grep "mysql" if [ $? != 0 ];then echo "mysql install fail"| tee $mysql_instlog exit 1 else echo "mysql isntall success"| tee $mysql_instlog fi # modify configuration files cd /etc/ echo "character_set_server=utf8" >> my.cnf # startup the mysql systemctl start mysqld systemctl status mysqld /etc/init.d/mysqld start /etc/init.d/mysqld stop echo "MySQL Server install successfully!" # configuration cat /etc/my.cnf sed -i ‘/mysqld/a\skip-grant-tables‘ /etc/my.cnf systemctl restart mysqld # mysql -u root mysql mysql -u root mysql -e "use mysql;" # use mysql # update mysql.user set authentication_string=password(‘root‘) where user=‘root‘ ; mysql -u root mysql -e "update mysql.user set authentication_string=password(‘root‘) where user=‘root‘ ;" mysql -u root mysql -e "flush privileges;" cat /etc/my.cnf sed -i ‘/skip-grant-tables/s/^/#/‘ /etc/my.cnf # mysql -u root -p # SET PASSWORD = PASSWORD(‘root‘); mysql -u root -proot --connect-expired-password -e "SET PASSWORD = PASSWORD(‘root‘);" # mysql -u root mysql # use mysql; mysql -u root -proot -e "use mysql;" # update user set host = ‘%‘ where user =‘root‘; mysql -u root -proot -e "update user set host = ‘%‘ where user =‘root‘;" # select host, user from user; mysql -u root -proot -e "select host, user from user;" # exit mysql -u root -proot -e "source /usr/src/tools/user.sql;" mysql -u root -proot -e "source /usr/src/tools/emm_saas_base.sql;" # create a new database, name as "emm_saas_base" # mysql -u root -p # create database emm_saas_base; # mysql -u root -proot -e "create database emm_saas_base;" # show databases; # mysql -u root -proot -e "show databases;" # initdb # for x in find . -name "*.sql" # do source emm_saas_base.sql # done # create user & authentication # mysql -u root -p # CREATE USER ‘emm‘@‘%‘ IDENTIFIED BY ‘emm‘; # GRANT ALL ON *.* TO ‘emm‘@‘%‘; # show user in the DB # select host,user from mysql.user; mysql -u root -proot -e "select host,user from mysql.user;" echo "The MySQL install and config complete! "Windows .bat版本:
@echo off :: created by Kevin Ji 2016/04/08,modify 2016/05/18 :: ----------------------------------------------------------------------------- :: Installation Script for the auto-deployment EMM(Windows edition-copy) :: ----------------------------------------------------------------------------- :: Modify EMM_Install script code for windows edition. Add to automatic configure install directory feature. :: creat an source package directory,name as "EMM_SRC" and an destination install directory,name as "EMM_DEST". md C:\EMM_SRC md C:\EMM_DEST :: ------------Install MySQL---------------------------------- C: cd C:\EMM_SRC start winrar x -r %cd%\mysql-5.7.11-winx64.zip C:\EMM_DEST pause :: ------------Config MySQL environment variable--------------- rem set MYSQL_HOME=C:\mysql-5.7.11-winx64 rem set PATH=%PATH%;C:\mysql-5.7.11-winx64\bin setx /M MYSQL_HOME C:\EMM_DEST\mysql-5.7.11-winx64 setx /M PATH %PATH%;C:\EMM_DEST\mysql-5.7.11-winx64\bin :: ------------MySQL installation and initialization------------ xcopy %cd%\user.sql C:\EMM_DEST\mysql-5.7.11-winx64\binxcopy %cd%\emm_saas_base.sql C:\EMM_DEST\mysql-5.7.11-winx64\bin\ C: cd C:\EMM_DEST\mysql-5.7.11-winx64\bin mysqld -install cd C:\EMM_DEST\mysql-5.7.11-winx64\bin mysqld --initialize :: ------------modify MySQL configuration file------------------------- C: cd C:\EMM_DEST\mysql-5.7.11-winx64rename C:\EMM_DEST\mysql-5.7.11-winx64\my-default.ini my.ini echo character_set_server=utf8 >> my.ini xcopy %cd%\my.ini C:\ /e /i /y :: ------------modify MySQL-root password------------------------------ net stop mysql echo skip-grant-tables >> my.ini ping -n 2 127.0.0.1 >nul taskkill /F /IM mysqld.exe net start mysql cd C:\EMM_DEST\mysql-5.7.11-winx64\bin mysql -e "use mysql" mysql -e "update mysql.user set authentication_string=password(‘root‘) where user=‘root‘ ;" mysql -e "flush privileges;" cd C:\EMM_DEST\mysql-5.7.11-winx64rename my.ini myold.ini cd C:xcopy C:\my.ini C:\EMM_DEST\mysql-5.7.11-winx64 :: ------------restart MySQL service------------------------------- :: taskkill /F /IM mysqld.exe net start mysql :: ------------Initialization DB----------------------------------- cd C:\EMM_DEST\mysql-5.7.11-winx64echo [client] >> my.ini echo user=root >> my.ini echo password=root >> my.ini cd C:\EMM_DEST\mysql-5.7.11-winx64\bin mysql --connect-expired-password -e "SET PASSWORD = PASSWORD(‘root‘);" mysql --connect-expired-password -uroot -proot < C:\EMM_DEST\mysql-5.7.11-winx64\bin\user.sql mysql --connect-expired-password -e "use emm_saas_base;" mysql --connect-expired-password -uroot -proot < C:\EMM_DEST\mysql-5.7.11-winx64\bin\emm_saas_base.sql pause echo MySQL Install and configuration complete
至此完结。
自动化运维——一键安装MySQL
标签:
本文系统来源:http://www.cnblogs.com/kevinji/p/5520295.html
内容总结
以上是互联网集市为您收集整理的自动化运维——一键安装MySQL全部内容,希望文章能够帮你解决自动化运维——一键安装MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。