有兩台服務器,192.168.0.2和192.168.0.3。我需要這兩台服務器上的MySQL互為備份,設置如下:
在192.168.0.2的機器上安裝MySQL,並添加用戶:
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.0.3' IDENTIFIED BY '123';
修改my.cnf文件:
[MySQLd] log-bin server-id=1 #master部分 sql-bin-update-same binlog-do-db= test #slave部分 master-host=192.168.0.3 master-user=backup master-passWord=123 master-port=3306 server-id=2 master-connect-retry=60 replicate-do-db=testdatabase [要更新的數據庫] log-slave-updates
在192.168.0.3的機器上安裝MySQL,並添加用戶:
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.0.2' IDENTIFIED BY '123'; 修改my.cnf文件: [MySQLd] log-bin server-id=1 #master部分 sql-bin-update-same binlog-do-db= test #slave部分 master-host=192.168.0.2 master-user=backup master-passWord=123 master-port=3306 server-id=2 master-connect-retry=60 replicate-do-db=testdatabase [要更新的數據庫] log-slave-updates
然後重起這兩台機器的MySQL服務。
起動slave start就可以起動備份了。
如果有問題可以用如下命令:
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n
讓SLAVE跳過MASTER上的N個事件。
START SLAVE UNTIL RELAY_LOG_FILE = 'debian-relay-bin.000001', RELAY_LOG_POS = 1;
用來指定relay日志和pos數。
詳細請查看MySQL MANUAL。