我正在尝试调试为什么我的DML语句未最终出现在binlog中。主服务器和从服务器似乎正在互相交谈,而从服务器的状态表明它已正确捕获最新的日志文件。
我用此输出做了一个show variables LIKE '%binlog%';
,但没有binlog_do_db
。
+-----------------------------------------+----------------------+
| Variable_name | Value |
+-----------------------------------------+----------------------+
| binlog_cache_size | 32768 |
| binlog_checksum | CRC32 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_error_action | ABORT_SERVER |
| binlog_format | ROW |
| binlog_group_commit_sync_delay | 0 |
| binlog_group_commit_sync_no_delay_count | 0 |
| binlog_gtid_simple_recovery | ON |
| binlog_max_flush_queue_time | 0 |
| binlog_order_commits | ON |
| binlog_row_image | FULL |
| binlog_rows_query_log_events | OFF |
| binlog_stmt_cache_size | 32768 |
| innodb_api_enable_binlog | OFF |
| innodb_locks_unsafe_for_binlog | OFF |
| log_statements_unsafe_for_binlog | ON |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_size | 104857600 |
| max_binlog_stmt_cache_size | 18446744073709547520 |
| sync_binlog | 1 |
+-----------------------------------------+----------------------+
经过多番努力和悲伤,我发现以前的管理员必须一直试图使复制正常工作并将这些行放入/etc/mysql/mysql.conf.d/mysqld.cnf
文件中
# Setup Incremental Backups
log-bin = /srv/ddisk/backups/mysql/mysql_inc
expire_logs_days = 3
max_binlog_size = 100M
server-id = 1
binlog_do_db = include_database_name
最后一行可能是罪魁祸首(尽管我可能会清理掉整个配置块,因为我已经将它们放在my.cnf
配置文件中了。无论如何,我现在试图验证此配置是否正确。实际上是由MySQL读取的,但是我无法确定要运行哪个查询才能找到此变量。
有人会碰巧知道如何找到binlog_do_db
吗?
提前谢谢