脚本
#!/bin/bash
#注意:本脚本中,有删除mariadb的操作!!
#mysql安装包目录
install_dir=/opt/mysql_install
#mysql tar包下载地址(如此地址失效,可自行更换)
mysql_tar=https://hciecloud.obs.cn-north-4.myhuaweicloud.com/MySQL-5.6.45-1.el6.x86_64.rpm-bundle.tar
#mysql初始化本地密码
mysql_pw=123Asd
#创建目录
mkdir -p ${install_dir}
cd ${install_dir}
#下载tar,并解压
wget https://hciecloud.obs.cn-north-4.myhuaweicloud.com/MySQL-5.6.45-1.el6.x86_64.rpm-bundle.tar
tar -xvf MySQL-5.6.45-1.el6.x86_64.rpm-bundle.tar
#删除mariadb,并安装mysql
yum -y remove mariadb*
yum install -y MySQL-shared-compat-5.6.45-1.el6.x86_64.rpm
yum install -y MySQL-server-5.6.45-1.el6.x86_64.rpm
yum install -y MySQL-client-5.6.45-1.el6.x86_64.rpm
yum install -y MySQL-devel-5.6.45-1.el6.x86_64.rpm
yum install -y MySQL-shared-5.6.45-1.el6.x86_64.rpm
#配置文件
cat << EOF >> /etc/my.cnf
[mysqld]
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
lower_case_table_names = 1
innodb_strict_mode = 1
sql_mode =
symbolic-links=0
character_set_server = utf8
log-bin = mysql-bin
binlog_format=row
server-id = 2
expire_logs_days = 10
slave_skip_errors = 1062
innodb_strict_mode = 0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EOF
#启动,并验证安装效果
systemctl start mysql
systemctl status mysql
echo "MySQL安装完成!"
#获取安装成功后的初始随机密码
chushi_pw=`awk -F"[ :]+" 'NR==1{print $NF}' /root/.mysql_secret`
#创建密码修改脚本
cat << EOF >> mysql_cpw.sh
#!/bin/bash
# 安装 expect 插件
yum install -y expect
# 修改密码
/bin/expect << EOF
spawn /usr/bin/mysql -h127.0.0.1 -uroot -p`echo -e ${chushi_pw}`
expect "mysql>"
send "SET PASSWORD FOR root@localhost=PASSWORD('${mysql_pw}');"
send "\n"
expect "mysql>"
send 'flush privileges\n'
expect "mysql>"
send 'quit\n'
interact
EOF
chmod +x mysql_cpw.sh
./mysql_cpw.sh
echo "MySQL密码修改成功!密码为:${mysql_pw}"
echo "赶紧执行:mysql -u root -p 试一下吧 ~"
##########################################################################################################
下面的命令需要登录数据库后运行
grant all privileges on *.* to root@"%" identified by "123Asd";
flush privileges;