A:

my.cnf中添加

server_id = 1

log-bin=binlog
log-bin-index=binlog.index
 

重启mysql

进入mysql,创建用户:

GRANT replication slave ON *.* TO identified by '123456';

flush privileges;
 

B1:

server_id = 2

relay_log = /var/lib/mysql/mysql-relay-bin
relay_log_index=/var/lib/mysql/mysql-relay-bin.index

log-bin=binlog

log-slave-updates
多了这两行

进入到 /var/lib/mysql下

删除所有 重启mysql

进入mysql

change master to master_host='192.168.18.1', master_port=3306, master_user='zhm', master_password='123456', master_log_file='binlog.000003', master_log_pos=379;

start slave;

mysql> show slave status\G

*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: 192.168.18.1
                Master_User: zhm
                Master_Port: 3306
              Connect_Retry: 60
            Master_Log_File: binlog.000003
        Read_Master_Log_Pos: 460
             Relay_Log_File: mysql-relay-bin.000004
              Relay_Log_Pos: 232
      Relay_Master_Log_File: binlog.000003
           Slave_IO_Running: Yes
          Slave_SQL_Running: Yes

再创建一个用户:

GRANT replication slave ON *.* TO identified by '123456';

mysqldump -A -x > /tmp/bak2.sql

scp /tmp/bak2.sql

mysql> show master status;

+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000004 |      507 |              |                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
 

C1:

server_id = 3

relay_log = /var/lib/mysql/mysql-relay-bin
relay_log_index=/var/lib/mysql/mysql-relay-bin.index
进入到/var/lib/mysql下

删除所有  重启mysql

进入mysql

change master to master_host='192.168.18.1', master_port=3306, master_user='zhm', master_password='123456', master_log_file='binlog.000003', master_log_pos=379;

start slave;

mysql> show slave status\G

*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: 192.168.18.1
                Master_User: zhm
                Master_Port: 3306
              Connect_Retry: 60
            Master_Log_File: binlog.000003
        Read_Master_Log_Pos: 460
             Relay_Log_File: mysql-relay-bin.000003
              Relay_Log_Pos: 232
      Relay_Master_Log_File: binlog.000003
         
  Slave_IO_Running: Yes
          Slave_SQL_Running: Yes

 

D:  做B的slave

配置my.cnf

server_id = 4

relay_log = /var/lib/mysql/mysql-relay-bin
relay_log_index=/var/lib/mysql/mysql-relay-bin.index
 

/etc/lib/mysql

rm -fr *

重启 mysql

mysql < /tmp/bak2.sql

将B1上得数据导回来

mysql> change master to master_host='192.168.18.2', master_port=3306, master_user='zhm2', master_password='123456', master_log_file='binlog.000004', master_log_pos=507;

 

start slave;

mysql> show slave status\G

 

*************************** 1. row ***************************

             Slave_IO_State: Waiting for master to send event
                Master_Host: 192.168.18.2
                Master_User: zhm2
                Master_Port: 3306
              Connect_Retry: 60
            Master_Log_File: binlog.000004
        Read_Master_Log_Pos: 507
             Relay_Log_File: mysql-relay-bin.000002
              Relay_Log_Pos: 232
      Relay_Master_Log_File: binlog.000004
           Slave_IO_Running: Yes
          Slave_SQL_Running: Yes

ok了。。。