(1)主從機 主機:10.10.54.86 從機1:10.10.54.85 從機2:10.10.54.87 數據庫:a 同步到從1 數據庫:b 同步到從2 (2)master配置,slave配置 master: log-bin=master-bin binlog_format=mixed server-id = 1 slave1: log-bin=slave-bin binlog_format=mixed server-id = 10 slave2: log-bin=slave-bin binlog_format=mixed server-id = 11 (3)在master建立複製用戶並授予權限 mysql> grant replication slave on *.* to 'a'@'10.10.54.85' identified by 'a'; Query OK, 0 rows affected (0.00 sec) mysql> grant replication slave on *.* to 'b'@'10.10.54.87' identified by 'b'; Query OK, 0 rows affected (0.02 sec) (4) mysql> show master status; +-------------------+-----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+-----------+--------------+------------------+ | master-bin.000014 | 379342358 | | | +-------------------+-----------+--------------+------------------+ 1 row in set (0.00 sec) (5) 從1: [root@nan85 ~]# vim /etc/my.cnf replicate-do-db=a 從2: [root@nan87 tmp]# vim /etc/my.cnf replicate-do-db=b (6) 從1: mysql> change master to master_host='10.10.54.86',master_user='a',master_password='a',master_log_file='master-bin.000014',master_log_pos=379342358; Query OK, 0 rows affected (0.05 sec) 從2: mysql> change master to master_host='10.10.54.86',master_user='b',master_password='b',master_log_file='master-bin.000014',master_log_pos=379342358; Query OK, 0 rows affected (0.01 sec) (6) 從1: mysql> slave start; Query OK, 0 rows affected (0.00 sec) 從2: mysql> slave start; Query OK, 0 rows affected (0.00 sec) (7) 從1: mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.10.54.86 Master_User: a Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000014 Read_Master_Log_Pos: 379342358 Relay_Log_File: nan85-relay-bin.000002 Relay_Log_Pos: 254 Relay_Master_Log_File: master-bin.000014 Slave_IO_Running: Yes Slave_SQL_Running: Yes 從2: mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.10.54.86 Master_User: b Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000014 Read_Master_Log_Pos: 379342358 Relay_Log_File: nan87-relay-bin.000002 Relay_Log_Pos: 254 Relay_Master_Log_File: master-bin.000014 Slave_IO_Running: Yes Slave_SQL_Running: Yes (8)測試 在主上: mysql> drop database a; Query OK, 0 rows affected (0.00 sec) 從1:顯示數據庫a刪除 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | employees | | mysql | | performance_schema | | test | +--------------------+ 從2:數據庫a還在 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | a | | employees | | mysql | | performance_schema | | test | +--------------------+ 備註:經測試,在主機上對數據庫a操做,在從1上數據庫a有做用,而在主上對數據庫b作操做,在從2上數據庫a起做用。