在mysql上,我有两个数据库“parque_test”和“tabelas_temporais”,并且二进制日志被激活。
修改属于“parque_test”的 InnoDB 表的每个操作都记录在二进制日志中。但是,“parque_test”具有使用临时表来检索结果的存储过程(它们不用于执行更新、删除或插入)。
为了避免在 bin 日志中记录临时表的活动,我设置了“/etc/mysql/my.cnf”文件,以便 mysql 在“parque_test”上注册除“tabelas_temporais”之外的所有活动。
cat /etc/mysql/my.cnf"
...
#log_bin = /var/log/mysql/mysql-bin.log
log_bin=/mysql-log/bin-log
binlog_do_db=parque_test
binlog_do_db=parque_prod
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
binlog_ignore_db=tabelas_temporais
...
所有临时表都是在“tabelas_temporais”模式上创建的;但是,二进制日志仍会记录“tabelas_temporais”上的活动,例如,当执行来自“parque_test”的存储过程时,包含如下命令
DROP TEMPORARY TABLE IF EXISTS tabelas_temporais.temp_mod_user;
任何帮助将非常感激!
mysql Ver 14.14 Distrib 5.5.40,适用于使用 readline 6.2 的 debian-linux-gnu (x86_64)