准备

master服务器、slave服务器。
master 192.168.77.200
slave1 192.168.77.201
slave2 192.168.77.202

配置master

  1. master节点的配置文件my.cnf添加
  2. #开启二进制日志,否则无法开启主从复制
  3. log-bin=mysql-bin //将mysql二进制日志取名为mysql-bin
  4. #server-id=1中的1可以任定义,只要是唯一的就行。
  5. server-id=1
  6. innodb_flush_log_at_trx_commit=1
  7. sync_binlog=1
  8. binlog-ignore-db //表示不同步什么数据库
  9. binlog-do-db //表示只同步什么数据库,除此之外,其它不同步(如果这个参数配置了,上面那个参数可以不配置)
  10. 重启mysql:
  11. service mysql restart
  1. master上输入show processlist\G;可以查看master环境信息。

创建一个用于slave和master通信的用户账号

  1. CREATE USER 'user'@'x.x.x.x' IDENTIFIED BY 'password'
  2. GRANT REPLICATION SLAVE ON *.* TO 'user'@'192.168.77.201' IDENTIFIED BY 'password';
  3. flush privileges

配置从数据库

先修改slave1的my.cnf文件

  1. mysqld中添加
  2. server-id=x
  3. log_slave_updates = 1
  4. 重启服务
  5. service mysql restart

添加slave

  1. slave(如果你以前配置过主从的话,一定要先关闭)
  2. 命令:stop slave;
  3. HANGE MASTER TO
  4. MASTER_HOST='192.168.77.200',
  5. MASTER_USER='user',
  6. MASTER_PASSWORD='password',
  7. MASTER_PORT=3306,
  8. MASTER_LOG_FILE='mysql-bin.000003',
  9. MASTER_LOG_POS=154,
  10. MASTER_CONNECT_RETRY=10;
  11. MASTER_LOG_FILEMASTER_LOG_POS的值可以在master库中使用show master status查看。
  12. 启用slave服务
  13. start slave
  14. 查看slave状态
  15. show slave status /G;
  16. 如果 Slave_IO_Running: Yes
  17. Slave_SQL_Running: Yes 都是yes表明配置成功。

slave2与slave1同样。