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';

#注意,此处操作可能会报
You must reset your password using ALTER USER statement before executing this statement

#重新修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Vdanny@123#sHG';

#再重新操作权限
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的升级操作及数据转移
posted @ 2021-11-02 10:53  叮伱格斐呃  阅读(668)  评论(0编辑  收藏  举报
Live2D