加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql复制监控与维护简析

发布时间:2023-08-31 14:41:03 所属栏目:MySql教程 来源:
导读:下文内容主要给大家带来Mysql复制监控和维护简析,这里所讲到的知识,与书籍略有不同。

(1) 清理日志:

PURGE ,删除二进制文件,不能直接物理删除,否则重启mysql服务可能会导致各种异常,需要使用命令PURG
下文内容主要给大家带来Mysql复制监控和维护简析,这里所讲到的知识,与书籍略有不同。
 
(1) 清理日志:
 
PURGE ,删除二进制文件,不能直接物理删除,否则重启mysql服务可能会导致各种异常,需要使用命令PURGE进行删除,因为mysql重启后,就不会再找对应的文件,使用purge命令删除会自动更新索引文件,下次mysql重启时,就不会找对应的二进制文件
 
PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr };
 
TO表示到该二进制文件之前的,不包括该二进制文件,都会被清除
 
或者,BEFORE某个时间,则到该时间之前的二进制日志文件都会被删除,如果这个时间恰好是某个二进制文件中间的某个时间点,那么也会把这个文件的该时间点之前的日志都删掉,但是该日志的该时间点后的日志不会被清除。
 
二进制日志一定不能删除,用来恢复数据,如果一定要删除,建议复制二进制文件到其他机器上,然后再用purge命令删除本机上的二进制文件
 
查找当前的二进制文件内容
 
MariaDB [sunnydb]> show binary logs;
 
+-------------------+-----------+
 
| Log_name          | File_size |
 
+-------------------+-----------+
 
| master-log.000001 |       542 |
 
| master-log.000002 |       468 |
 
| master-log.000003 |      1045 |
 
| master-log.000004 |      1296 |
 
+-------------------+-----------+
 
如清除master-log.000003 即清除master-log.000002 和master-log.000001的二进制log,命令如下
 
MariaDB [sunnydb]> purge binary logs to 'master-log.000003';
 
(2) 复制监控命令
 
查看复制相关的状态和文件的命令
 
MASTER:
 
查看当前用哪个二进制文件,以及当前二进制文件的位置
 
SHOW MASTER STATUS;
 
查看二进制文件的记录
 
SHOW BINLOG EVENTS;
 
查看所有的二进制文件和文件大小
 
SHOW BINARY LOGS;
 
SLAVE:
 
查看从云服务器的状态数据

SHOW SLAVE STATUS\G;
 
判断从服务器是否落后于主服务器的时间:
 
Seconds_Behind_Master: 0
 
(3) 如何确定主从节点数据是否一致?
 
通过表的CHECKSUM检查,表创建时可以启用checksum功能,但是,一旦启用该功能,每一次更改表的信息都会计算表的校验码,消耗资源;
 
建议使用percona-tools中percona-toolkit   的功能 pt-table-checksum;计算出主从服务器上表的校验和,并进行比较。percona-toolkit  还可以检查各种系统指标
 
(4) 主从数据不一致时的修复方法?
 
重新复制;
 
如果不同步的量很少,可以直接手动修改数据即可
 
注意,工具PXC按位复制,数据不一致的概率小
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章