背景
《承接上文,项目05(Mysql升级04Mysql5.1.73升级到Mysql5.5.62)》,
写在前面
需要(考虑)检查和测试的层面很多,不限于以下内容。
逻辑升级
命令介绍详见上文
mysqlcheck --defaults-file=/etc/my.cnf -u root -p --all-databases --check-upgrade
mysqldump --socket=/tmp/mysql5.5.62.sock -u root -p --add-drop-table --routines --events --master-data=2 --single-transaction --databases ceshi100 ceshi666 ceshi888 ceshi999 ceshi66666 --force > data-for-upgrade.sql
/etc/init.d/mysqld5.5.62 stop
PATH=$PATH:/usr/local/mysql5.6.51/bin
vim /etc/my.cnf(线上库复制的)
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql5.6.51/data --defaults-file=/etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld5.6.51
vim /etc/init.d/mysqld5.6.51
basedir=/usr/local/mysql5.6.51
datadir=/usr/local/mysql5.6.51/data
/etc/init.d/mysqld5.6.51 start
ln -s /tmp/mysql5.6.51.sock /tmp/mysql.sock
./bin/mysql_secure_installation #设置root密码
/usr/local/mysql5.6.51/bin/mysql_upgrade -u root -p
mysql -u root -p --force < data-for-upgrade.sql
/etc/init.d/mysqld5.6.51 restart
因为是先升级的从库,所以会出现以下错误: 开启gtid的5.6从库不能挂在没有开启gtid的5.5主库上 Slave_IO_Running: No Last_IO_Error: The slave IO thread stops because the master has @@GLOBAL.GTID_MODE OFF and this server has @@GLOBAL.GTID_MODE ON
解决办法:将主库也升级为5.6并开启GTID
因为只备份了业务库,复制用户需要在主从库上重新创建,如下:
CREATE USER 'repl'@'192.168.66.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.66.%';
FLUSH PRIVILEGES;
参考数据库配置文件生成工具
叶老师出品,https://imysql.cn/my-cnf-wizard.html
link
下文《项目05(Mysql升级06)》,我们一起讨论一下Mysql5.6.51升级到Mysql5.7.32
本文说明,主要技术内容来自互联网技术大佬的分享,还有一些自我的加工(仅仅起到注释说明的作用)。如有相关疑问,请留言,将确认之后,执行侵权必删