查看二进制日志文件中的事件(查看binlog内容):
mysql> show binlog events;
+------------------+------+----------------+-----------+-------------+--------------------------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+------------------+------+----------------+-----------+-------------+--------------------------------------------------------------+
| mysql-bin.000001 | 4 | Format_desc | 1 | 126 | Server ver: 8.0.29, Binlog ver: 4 |
| mysql-bin.000001 | 126 | Previous_gtids | 1 | 157 | |
| mysql-bin.000001 | 157 | Anonymous_Gtid | 1 | 234 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000001 | 234 | Query | 1 | 329 | use `mysql`; flush privileges |
| mysql-bin.000001 | 329 | Anonymous_Gtid | 1 | 406 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000001 | 406 | Query | 1 | 514 | create database test /* xid=62 */ |
| mysql-bin.000001 | 514 | Anonymous_Gtid | 1 | 591 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000001 | 591 | Query | 1 | 702 | create database test1 /* xid=67 */ |
| mysql-bin.000001 | 702 | Anonymous_Gtid | 1 | 779 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000001 | 779 | Query | 1 | 924 | GRANT REPLICATION CLIENT ON *.* TO 'slave'@'%' /* xid=133 */ |
| mysql-bin.000001 | 924 | Anonymous_Gtid | 1 | 1001 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000001 | 1001 | Query | 1 | 1112 | create database test2 /* xid=151 */ |
+------------------+------+----------------+-----------+-------------+----------------------------------------
也可以指定binlog进行查看:
show binlog events in 'mysql-bin.000001';
指定binlog并指定从那个pos之后开始看:
show binlog events in 'mysql-binlog.000001' from 256;
查看中继日志信息:
mysql> show global variables like "%relay%";
+---------------------------+-----------------------------------------------+
| Variable_name | Value |
+---------------------------+-----------------------------------------------+
| max_relay_log_size | 0 |
| relay_log | VM-0-22-centos-relay-bin |
| relay_log_basename | /var/lib/mysql/VM-0-22-centos-relay-bin |
| relay_log_index | /var/lib/mysql/VM-0-22-centos-relay-bin.index |
| relay_log_info_file | relay-log.info |
| relay_log_info_repository | TABLE |
| relay_log_purge | ON |
| relay_log_recovery | OFF |
| relay_log_space_limit | 0 |
| sync_relay_log | 10000 |
| sync_relay_log_info | 10000 |
+---------------------------+-----------------------------------------------+
11 rows in set (0.00 sec)
变量解释:
max_relay_log_size:
标记relay log允许的最大值,如果该值为0默认值为1G,如果不为0,则为标记的大小
relay_log:
定义relay_log的位置和名称,如果值为空,则默认位置在数据文件的目录datadir,文件名为host_name-relay-bin.nnnnnn
relay_log_basename
中继日志文件的名称和路径。名称是去掉后缀的名字
relay_log_index
定义relay_log的位置和名称
relay_log_info_file
设置relay-log.info的位置和名称(relay-log.info记录MASTER的binary_log的恢复位置和relay_log的位置)
relay_log_info_repository
确定从机的 relay_log 位置放在 FILE(relay-log.info)还是 TABLE (mysql.slave_relay_log_info),保证数据写入的一致性
relay_log_purge
开启或关闭在不需要的时候自动删除中继日志。
relay_log_recovery
当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性。
relay_log_space_limit
防止中继日志写满磁盘,这里设置中继日志最大限额。但是会有主库崩溃,从机中继日志不全的问题。
sync_relay_log
slave的I/O线程每次接收到master发送过来的binlog日志都要写入系统
缓冲区,然后刷入relay log中继日志里,这样是最安全的,因为在崩溃的时候,你最多会丢失一个事务,但是这样也会造成磁盘的大量I/O。
sync_relay_log_info
这个参数和sync_relay_log参数一样,当设置为1时,slave的I/O线程每次接收到master发送过来的binlog日志都要写入系统缓冲区,然后刷入relay-log.info里,这样是最安全的,因为在崩溃的时候,你最多会丢失一个事务,但会造成磁盘的大量I/O。当设置为0时,并不是马上就刷入relay-log.info里,而是由操作系统决定何时来写入,虽然安全性降低了,但减少了大量的磁盘I/O操作。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/attemptendeavor/article/details/125721690
内容来源于网络,如有侵权,请联系作者删除!