mysql5.7一键部署脚本

#!/bin/bash

#创建mysql用户
id mysql &> /dev/null
[ $? -eq 0 ] && echo -e "\033[35mmysql用户已存在\033[0m" && exit
useradd  mysql

#将压缩包解压至mysql家目录下
tar -xf  mysql*.tar.gz -C  /home/mysql/
cd /home/mysql
mv mysql-* mysql

#修改配置文件
echo > /etc/my.cnf
sed -i "1a[mysql]\ndefault-character-set=utf8\n[mysqld]\nserver_id=1\n
log-bin=mysql-bin\nbasedir=/home/mysql/mysql\ndatadir=/home/mysql/mysql/data\n
skip-grant-tables\nport=23306\nsocket=/home/mysql/mysql/mysql.sock\n
explicit_defaults_for_timestamp\ncharacter-set-server=utf8\nlog_bin_trust_function_creators=1\n
lower_case_table_names=1\nsql_mode=\ntransaction_isolation=READ-COMMITTED\n
binlog_format=mixed\nmax_allowed_packet=104857600\nmax_connections=4000\n[mysqld_safe]\n
socket=/home/mysql/mysql/mysql.sock\n[client]\nsocket=/home/mysql/mysql/mysql.sock\n[mysql.server]\n
socket=/home/mysql/mysql/mysql.sock\n" /etc/my.cnf
line=`cat /etc/my.cnf | wc -l`
[ $line -eq 27 ] && echo -e "\033[35m配置文件修改成功\033[0m"
sleep 1

#创建数据文件存放目录
mkdir /home/mysql/mysql/data
[-d /home/mysql/mysql/data ] && echo -e "\033[35m数据存放目录创建成功\033[0m"

#修改所有者所属组
chown -R mysql.mysql /home/mysql/mysql/
echo -e "\033[35m修改所有者所属组\033[0m"

#初始化mysql
cd /home/mysql/mysql/bin
./mysql_install_db --user=mysql --basedir=/home/mysql/mysql --datadir=/home/mysql/mysql/data

#启动mysql
cd /home/mysql/mysql/support-files
./mysql.server start
ss -untlp | grep 23306 && echo -e "\033[35mmysql初启动成功\033[0m"

cd /home/mysql/mysql/bin
mysql -e "update mysql.user set password_expired='N'"

#修改配置文件
sed -i '9s/skip-grant-tables/#skip-grant-tables/' /etc/my.cnf

#从启Mysql
cd /home/mysql/mysql/support-files
./mysql.server restart
ss -untlp | grep 23306 && echo -e "\033[35mmysql配置完成,启动成功\033[0m"

sleep 1

sct=`sed -n '2p' /root/.mysql_secret`

cd /home/mysql/mysql/bin
./mysql -uroot -p"$sct" -e "grant all on *.* to root@'localhost' identified by 'bonc'"
./mysql -uroot -pbonc -e "grant all on *.* to bonc@'%' identified by 'bonc!@#-.2019'"
[ $? -eq 0 ] && echo -e "\033[35m密码修改完成,完成mysql全部安装............\033[0m"

ln -s /home/mysql/mysql/bin/mysql /bin/mysql

echo -e "\033[35m软链接建立\033[0m"

你可能感兴趣的:(mysql5.7一键部署脚本)