У меня есть два физических сервера. Я скопировал некоторые из базы данных server1 на server2 с помощью команды:mysql master-slave-master-slave репликация
server1$ mysqldump -u root -q -p --delete-master-logs --flush-logs --extended-insert --master-data=1 --single-transaction --databases db1 db2 db3 db4>to_server2.sql
, а затем импортировать их как обычно
server2$ mysql -u root -p <to_server2.sql
my.cnf на server2 включает в себя:
server-id = 2
log_bin
binlog_format = mixed
replicate_do_db = db1,db2
transaction-isolation=READ-COMMITTED
my.cnf на сервер1 включает:
server-id = 1
log_bin
binlog_format = mixed
replicate_do_db = db3,db4
transaction-isolation=READ-COMMITTED
затем я выдаю мастер изменений на обоих серверах, чтобы указать друг на друга; SHOW SLAVE STATUS уже включает Read_Master_Log_Pos на сервере2, но в любом случае никаких изменений данных не было сделано во время этих операций.
Затем начал работать на обоих серверах. SHOW SLAVE STATUS хорошо выглядит как на сервере server1, так и на сервере server2.
Проблема: Всякий раз, когда данные изменяются на любом сервере1 или данные сервера2 отображаются в журнале bin сервера, а в журнале журнала mysqld-relay-bin другого сервера BUT не отображаются в базе данных ведомого. Read_Master_Log_Pos изменяет, но не данные в базе данных slave. Любая идея почему?
Возможно, вы захотите спросить об этом на serverfault.com, так как репликация является скорее вопросом sysadmin, чем программированием. –
Может быть. Но есть еще много людей, осваивающих mysql ... Может быть, проблема связана с комой, я пытаюсь отделить имена баз данных от комы, что неправильно, потому что имя базы данных может содержать кома ... –