三十六、主从复制监控
主从复制监控
以下命令在主库运行
#查看向从库发送binlog的状态,repl为复制账号,线程为Binlog Dump
mysql> show processlist;
+----+------+--------------------+------+-------------+-------+---------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+--------------------+------+-------------+-------+---------------------------------------------------------------+------------------+
| 70 | root | localhost | NULL | Query | 0 | starting | show processlist |
| 72 | repl | 10.154.0.112:60650 | NULL | Binlog Dump | 27877 | Master has sent all binlog to slave; waiting for more updates | NULL |
+----+------+--------------------+------+-------------+-------+---------------------------------------------------------------+------------------+
2 rows in set (0.00 sec)
#查看主库使用的binlog日志以及记录的Position号,用于判断是否有数据写入
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------------------------------------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------------------------------------------------------------------------+
| mysql-bin.000041 | 1070 | | | 3d111a50-9355-11eb-b573-000c29a2912e:1-4,
65c12fe4-613e-11eb-9271-000c29a2912e:1-23 |
+------------------+----------+--------------+------------------+-------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
#可以查看从库的端口,server_id,master_id,以及uuid信息
mysql> show slave hosts;
+-----------+------+------+-----------+--------------------------------------+
| Server_id | Host | Port | Master_id | Slave_UUID |
+-----------+------+------+-----------+--------------------------------------+
| 7 | | 3306 | 6 | 608b0578-8b03-11eb-a172-000c290d40be |
+-----------+------+------+-----------+--------------------------------------+
1 row in set (0.00 sec)
以下命令在从库运行
mysql> show slave status \G
#以下信息是关于主库有关的信息,来自于master.info文件
Master_Host: 10.154.0.111
Master_User: repl
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql-bin.000041 #获取到的binlog文件名
Read_Master_Log_Pos: 752 #获取到的位置点信息
#以下信息是关于从库relay-log执行情况,来自于relay-log.info文件
Relay_Log_File: client2-relay-bin.000005 #该文件对应mysql-bin.000041日志文件
Relay_Log_Pos: 320 #已经执行到的位置点
Relay_Master_Log_File: mysql-bin.000041
Exec_Master_Log_Pos: 1070 #已经执行到的主库的位置点信息
#以下为从库的线程状态
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
#以下为具体报错信息,用于排错
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
#过滤复制有关的信息,用于只主从复制部分数据库时使用
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
#从库延时主库的时间,也就是主从复制落后主库多少秒,是不可抗力的例如网络延迟造成的延时
Seconds_Behind_Master: 0
#延时从库的配置信息,用于防止主库误删数据,延时从主库同步,是人为指定延时
SQL_Delay: 0
SQL_Remaining_Delay: NULL
#GTID相关的复制信息
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
主从的线程管理
mysql> start slave; #启动所有线程
mysql> stop slave; #关闭所有线程
mysql> start slave sql_thread; #单独启动sql线程
mysql> start slave io_thread; #单独启动io线程
mysql> stop slave sql_thread; #单独关闭sql线程
mysql> stop slave io_thread; #单独关闭io线程
解除从库身份,前提是io跟sql线程关闭,一般用于重新搭建主从环境,会清除CHANGE MASTER TO
的信息
mysql> reset slave all;
mysql> show slave status \G #清除后从库无信息显示
今天的学习是为了以后的工作更加的轻松!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库