PolarDB-X 完全兼容 MySQL Binlog 相关指令,例如 SHOW BINARY LOGS
,SHOW BINLOG EVENTS
等,并在此基础上进行了一定的扩展。
下面是对 PolarDB-X 所支持的所有Binlog相关命令的详细介绍。
参考 MySQL SHOW MASTER STATUS,用于获取当前 PolarDB-X 的Binlog文件信息。
执行下面的命令,即可获取当前全局Binlog的文件相关信息。
SHOW
MASTER STATUS;
mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| FILE | POSITION | BINLOG_DO_DB | BINLOG_IGNORE_DB | EXECUTED_GTID_SET |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000014 | 8273883 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.07 sec)
执行下面的命令,即可获得当前多流Binlog中某个流的相关信息,其中 stream_id
可以通过下面的 SHOW BINARY STREAMS
命令获取。
- WITH
group name
_stream_stream_id
SHOW
MASTER STATUS WITH group1_stream_0;
mysql> show master status with group1_stream_0;
+-------------------------------+----------+--------------+------------------+-------------------+
| FILE | POSITION | BINLOG_DO_DB | BINLOG_IGNORE_DB | EXECUTED_GTID_SET |
+-------------------------------+----------+--------------+------------------+-------------------+
| group1_stream_0_binlog.000005 | 9256201 | | | |
+-------------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.02 sec)
参考 MySQL SHOW BINARY LOGS,用于获取当前 PolarDB-X CDC 所有Binlog文件的列表。
执行下面的命令,即可获取当前全局Binlog中所有Binlog文件的列表。
SHOW
BINARY LOGS;
mysql> show binary logs;
+---------------+-----------+
| LOG_NAME | FILE_SIZE |
+---------------+-----------+
| binlog.000001 | 10486210 |
| binlog.000002 | 10486073 |
| binlog.000003 | 10485875 |
+---------------+-----------+
3 rows in set (0.08 sec)
执行下面的命令,即可获得当前多流Binlog中某个流的所有Binlog文件的列表。
- WITH
group name
_stream_stream_id
SHOW
BINARY LOGS WITH group1_stream_0;
mysql> show binary logs with group1_stream_0;
+-------------------------------+-----------+
| LOG_NAME | FILE_SIZE |
+-------------------------------+-----------+
| group1_stream_0_binlog.000001 | 10486111 |
| group1_stream_0_binlog.000002 | 10486034 |
| group1_stream_0_binlog.000003 | 10486117 |
| group1_stream_0_binlog.000004 | 25360807 |
+-------------------------------+-----------+
4 rows in set (0.09 sec)
参考 MySQL SHOW BINLOG EVENTS ,用于获取某个Binlog文件的指定范围内的Binlog Events。
使用下面的命令,即可获取全局Binlog中某个Binlog文件的指定范围内的Binlog Events。
SHOW
BINLOG EVENTS IN 'binlog.000001' FROM 4 LIMIT 10;
mysql> show binlog events in 'binlog.000001' limit 10;
+---------------+------+-------------+------------+-------------+-------------------------------------------------------------+
| LOG_NAME | POS | EVENT_TYPE | SERVER_ID | END_LOG_POS | INFO |
+---------------+------+-------------+------------+-------------+-------------------------------------------------------------+
| binlog.000001 | 4 | Format_desc | 1979992319 | 123 | Server ver: 5.6.29-TDDL-5.4.16-SNAPSHOT, Binlog ver: 4 |
| binlog.000001 | 123 | Rows_query | 1979992319 | 206 | CTS::704484124684556704015759064623858360330000000000000000 |
| binlog.000001 | 206 | Rows_query | 1979992319 | 289 | CTS::704484124774314809615759064632834170880000000000000000 |
| binlog.000001 | 289 | Rows_query | 1979992319 | 372 | CTS::704484124864911776015759064641851924490000000000000000 |
| binlog.000001 | 372 | Rows_query | 1979992319 | 455 | CTS::704484124955508742415759064650869678090000000000000000 |
| binlog.000001 | 455 | Rows_query | 1979992319 | 538 | CTS::704484125045266848015759064659887431680000000000000000 |
| binlog.000001 | 538 | Rows_query | 1979992319 | 621 | CTS::704484137280471046415759065883449794570000000000000000 |
| binlog.000001 | 621 | Rows_query | 1979992319 | 704 | CTS::704484137370648582415759065892425605120000000000000000 |
| binlog.000001 | 704 | Rows_query | 1979992319 | 787 | CTS::704484137460406688015759065901443358720000000000000000 |
| binlog.000001 | 787 | Rows_query | 1979992319 | 870 | CTS::704484137550584224015759065910419169280000000000000000 |
+---------------+------+-------------+------------+-------------+-------------------------------------------------------------+
10 rows in set (3.37 sec)
使用下面的命令,即可获得多流Binlog中某个流中某个Binlog文件的指定范围内的Binlog Events。
- WITH
group name
_stream_stream_id
- IN
binlog file name
- [ FROM
start position
] - [ LIMIT
number of events
]
SHOW
BINLOG EVENTS WITH 'group1_stream_0' IN 'group1_stream_0_binlog.000001' LIMIT 10;
mysql> show binlog events with 'group1_stream_0' in 'group1_stream_0_binlog.000001' limit 10;
+-------------------------------+------+-------------+------------+-------------+-------------------------------------------------------------+
| LOG_NAME | POS | EVENT_TYPE | SERVER_ID | END_LOG_POS | INFO |
+-------------------------------+------+-------------+------------+-------------+-------------------------------------------------------------+
| group1_stream_0_binlog.000001 | 4 | Format_desc | 1979992319 | 123 | Server ver: 5.6.29-TDDL-5.4.16-SNAPSHOT, Binlog ver: 4 |
| group1_stream_0_binlog.000001 | 123 | Rows_query | 1979992319 | 206 | CTS::704484112107097299215759063365944647680000000000000000 |
| group1_stream_0_binlog.000001 | 206 | Rows_query | 1979992319 | 289 | CTS::704484112199791417615759063375172116480000000000000000 |
| group1_stream_0_binlog.000001 | 289 | Rows_query | 1979992319 | 372 | CTS::704484112292066105615759063384441528320000000000000000 |
| group1_stream_0_binlog.000001 | 372 | Rows_query | 1979992319 | 455 | CTS::704484112384760224015759063393668997120000000000000000 |
| group1_stream_0_binlog.000001 | 455 | Rows_query | 1979992319 | 538 | CTS::704484112476615481615759063402896465920000000000000000 |
| group1_stream_0_binlog.000001 | 538 | Rows_query | 1979992319 | 621 | CTS::704484124684556704015759064623858360330000000000000000 |
| group1_stream_0_binlog.000001 | 621 | Rows_query | 1979992319 | 704 | CTS::704484124774314809615759064632834170880000000000000000 |
| group1_stream_0_binlog.000001 | 704 | Rows_query | 1979992319 | 787 | CTS::704484124864911776015759064641851924490000000000000000 |
| group1_stream_0_binlog.000001 | 787 | Rows_query | 1979992319 | 870 | CTS::704484124955508742415759064650869678090000000000000000 |
+-------------------------------+------+-------------+------------+-------------+-------------------------------------------------------------+
10 rows in set (0.75 sec)
获取多流Binlog中所有流的相关信息,包括组名、流名、当前流的Binlog文件名、当前流的Binlog文件最新位点等。
执行下面的命令,即可获取多流Binlog中所有流的相关信息。
SHOW
BINARY STREAMS;
mysql> show binary streams;
+--------+-----------------+-------------------------------+----------+
| GROUP | STREAM | FILE | POSITION |
+--------+-----------------+-------------------------------+----------+
| group1 | group1_stream_0 | group1_stream_0_binlog.000017 | 7289205 |
| group1 | group1_stream_1 | group1_stream_1_binlog.000017 | 8122200 |
| group1 | group1_stream_2 | group1_stream_2_binlog.000017 | 5665953 |
+--------+-----------------+-------------------------------+----------+
3 rows in set (0.05 sec)