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 @   叮伱格斐呃  阅读(691)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
Live2D
欢迎阅读『mysql 5.6升级至mysql 5.7及数据转移过程记录』
点击右上角即可分享
微信分享提示