mysql 5.6升级至mysql 5.7及数据转移过程记录

 

原mysql安装版本:5.6.28,安装使用包:mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz

升级后mysql版本:5.7.22,安装使用包:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
 
停服务,备走数据文件
/etc/init.d/mysqld stop
mv /opt/mysql /tmp/mysql.bak

快速部署mysql 5.7

useradd -s /sbin/nologin mysql
tar -xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64 /opt/mysql
chown -R mysql.mysql mysql

#初始化
/opt/mysql/bin/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/opt/mysql/ --datadir=/opt/mysql/data --user=mysql

#还原备份数据库
#备份5.7数据库的/data目录为data_57
mv /opt/mysql/data /opt/mysql/data_57

#还原5.6 数据 /data
cp -rp /tmp/mysql.bak/data /opt/mysql/
cp -rp  /opt/mysql/data_57/performance_schema /opt/mysql/data
rm -rf /opt/mysql/data/ib_logfile*
chown -R mysql.mysql /opt/mysql/

#重启
/etc/init.d/mysqld restart

注:此时新的mysql 5.7系统用户信息全是mysql5.6转移过来的

#升级数据字典、系统表
./bin/mysql_upgrade -uroot -p

#登录mysql更新/创建账号信息
mysql> update mysql.user set authentication_string=password('Vdanny@123#sHG') where user="root" and host="localhost";

mysql> grant all on *.* to 'root'@'%' identified by  'Vdanny@123#sHG';
mysql> flush privileges;

#完成,登录测试还原数据是否完整
mysql -uroot -p -h 192.168.1.10
至此,完成快速mysql 5.6至mysql 5.7的升级操作及数据转移
好记性不如烂笔头,最难不过坚持
原文地址:https://www.cnblogs.com/dannylinux/p/15497819.html