MySQL-主从复制环境升级小版本软件
步骤
离线方式
-
主从替换二进制安装包为最新版本
-
停从,通过mysql_upgrade升级后,加参数 --skip-slaves-start (不开启复制启动)进行启动从库
-
主库禁用二进制日志写入(skip-write-binlog),执行mysql_upgrade,然后正常方式重启主库
# 1. slave
mysql_upgrade
# 2. master
mysql_upgrade --skip-write-binlog
在线升级
- 升级从库
- 主从切换
- 再次按照从库升级方式完成集群中所有软件升级
实现细节(在线)
检查同步状态
show slave status \G
show master status \G
从库升级新版本软件
停止MySQL服务(slave端)
mysql -u root -p -e "stop slave;"
mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0" # 必须设置该参数
systemctl stop mysqld
冷备数据
cp -rp data data_$(date +%Y%M%D)
升级软件
先对slave进行升级
unlink mysql
tar -xf mysql-5.7.18-linux-glibc2.5-x86_64.zip
# 3. 创建软链接
ln -s mysql-5.7.18 mysql
# 4. 修改软件目录用户及用户组
chow -R mysql:mysql mysql-5.7.18
启动数据库服务
/usr/local/mysql/bin/mysqld_safe --user=mysql --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking &
升级数据字典
/usr/local/mysql/bin/mysql_upgrade --protocol=tcp -P 3308
检查数据库状态
select @@version();
status;
show slave status\G
show master status\G
主从切换
确认都已开启log_bin日志
确认主从都已开启log_bin
show variables like '%log_bin%';
-- 将主库设置成read_only模式
set global read_only=ON;
show variables like '%read_only%';
日志切换
flush tables;
flush logs;
show master status;
停止slave服务并开启写功能
stop slave;
set global read_only=off;
show variables like '%read_only%';
主从切换
原master端执行
# 基于binlog + position
CHANGE MASTER TO
MASTER_HOST='192.168.10.181',
MASTER_USER='sync',
MASTER_PASSWORD='sync',
MASTER_PORT=3308,
MASTER_LOG_FILE='b3308.000014',
MASTER_LOG_POS=852;
# 基于gtid
CHANGE MASTER TO
MASTER_HOST='192.168.10.181',
MASTER_USER='sync',
MASTER_PASSWORD='sync',
MASTER_PORT=3308,
master_auto_position=1;
start slave;
show slave status\G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)