A B 为两台 MySQL 服务器,均开启二进制日志,数据库版本 MySQL 5.5
  一、服务器参数
  [A 服务器 192.168.1.100]
  server-id = 1
  binlog-do-db = test
  binlog-ignore-db = mysql
  replicate-do-db = test
  replicate-ignore-db = mysql
  sync-binlog = 1
  [B 服务器 192.168.1.101]
  server-id = 2
  binlog-do-db = test
  binlog-ignore-db = mysql
  replicate-do-db = test
  replicate-ignore-db = mysql
  sync-binlog = 1
  重启A、B的数据库服务器
  二、操作步骤
  # A B 服务器停止同步
  STOP SLAVE;
  # A B 服务器清空MASTER日志
  RESET MASTER;
  # A B 服务器清空SLAVE日志
  RESET SLAVE;
  # A 服务器授权同步账户 (我们会同步一次复制数据库文件,所以授权为192.168.1%)
  GRANT REPLICATION SLAVE ON *.* TO 'master_slave'@'192.168.1%' IDENTIFIED BY '123456';
  FLUSH PRIVILEGES;
  # A 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
  FLUSH TABLES WITH READ LOCK;(当线上正在运行数据库时,进行锁表操作,数据不在写入)
  # 如果使用SSH,需要重新开启,复制数据库文件。
  tar -cvf /tmp/mysql-data.tar /www/mysql
  tar -xvf /tmp/mysql-data.tar -C /
  # 查看 A 服务器主机状态(记录二进制开始文件,位置)
  SHOW MASTER STATUS;

  # B 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
  FLUSH TABLES WITH READ LOCK;
  # 修改 B 服务器配置 (修改为A服务器的主机状态)
  CHANGE MASTER TO MASTER_HOST='192.168.1.100',MASTER_USER='master_slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=106;
  MASTER_LOG_FILE 对应A 服务器show master status中的File;MASTER_LOG_POS对应A 服务器show master status中的Position

  上图箭头所指的两个参数如果都为yes,代表同步成功。
  # 开启 B 服务器同步进程
  START SLAVE;
  # 查看 B 服务器同步状态是否正常
  SHOW SLAVE STATUS;