## MYSQL5.6升级5.7
1、停止服务,备份数据
service dcos stopmysql
mv /usr/share/dcos/support/mysql /usr/share/dcos/support/mysql56_bak
2、解压缩文件放至目录 /usr/share/dcos/support/下 、给权限并命名为mysql目录
cd /usr/share/dcos/support/
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql
chown -R mysql.mysql mysql
3、初始化
/opt/mysql/bin/mysql_install_db
--defaults-file=/etc/my.cnf
--basedir=/usr/share/dcos/support/mysql/
--datadir=/usr/share/dcos/support/mysql/data/ --user=mysql
##请分行复制有回车
如果初始化失败,需要安装依赖包numactl.x86_64 0:2.0.9-2.el6 (yum安装没有问题)
4、初始化完成之后 在新的mysql目录下就会生成data目录
#备份5.7数据库的/data目录为data_57
cp -rp /usr/share/dcos/support/mysql/data /usr/share/dcos/support/mysql/data_57
5、还原5.6 数据 /data复制到data中
cp -rp /usr/share/dcos/support/mysql56_bak/data /usr/share/dcos/support/mysql/
此处建议cp,以备出问题方便回滚。
6、将5.7的数据库系统配置表拷贝到data中覆盖
/bin/cp -rp /usr/share/dcos/support/mysq/data_57/performance_schema /usr/share/dcos/support/mysq/data
rm -rf /usr/share/dcos/support/mysql/data/ib_logfile*
chown -R mysql.mysql /usr/share/dcos/support/mysql/
此处使用/bin/cp 的原因:使用原生命令可以直接复制覆盖 系统的默认cp命令是通过alias 携带提醒参数的 会一步一步确认,故省事跳过
#重启
service dcos startmysql
注:此时新的mysql 5.7系统用户信息全是mysql5.6转移过来的
7、升级数据字典、系统表
./bin/mysql_upgrade -uroot -p
升级完成!