Это сложно, потому что --database
не означает, что вы, вероятно, думаете, что это означает.
Это НЕ означает только внесение изменений в именованную базу данных.
Это означает :
Эта опция заставляет mysqlbinlog выводить записи из двоичного журнала (только локальный журнал), которые появляются, когда USE выбрано имя базы данных db_name в качестве базы данных по умолчанию.
Например:
USE db1;
INSERT INTO db2.mytable ...
Это НЕ будет включено, если вы используете --database db2
, потому что db2
не была базой данных по умолчанию, когда эта транзакция была записана в двоичный журнал.
Другой пример:
USE db3;
UPDATE db1.mytable JOIN db2.myothertable
SET db1.col1 = ...,
db2.col2 = ...;
Следует ли включить изменения db1.mytable
, вытекающие из этого, если вы используете --database db2
?
Вопрос с подвохом: изменения в не будут включены ни в таблицу , поскольку текущая база данных по умолчанию db3
.