Mysql 主从服务器数据同步

时间:2021-12-10 00:50:50
  1. 安装2台windows Server 服务器,分别安装Mysql,配置环境变量,完成安装确认在CMD窗口可以使用Mysql命令
  2. 在Master服务器上创建同步账号,确保Slave服务器能访问Master服务器数据库
    Master DB Server IP:10.10.0.144
    Slave DB Server IP:10.10.0.145
    Mysql > grant replication slave on *.* to backup@10.10.0.145 identified by 'Password';
    Mysql > flush privileges;
  3. 进入Slave服务器,测试能否成功访问Master服务器
    Mysql > mysql -ubackup -p -h10.10.0.144
  4. 回到Master服务器,修改Mysql配置文件,打开:C:\ProgramData\MySQL\MySQL Server 5.6\My.ini
    添加或修改如下内容:
    #设置数据库标识
    server_id=1
    #任何一个事务提交之后就立即写入到磁盘中的二进制文件
    sync_binlog=1
    #保持数据一致性,建议配置
    innodb_flush_log_at_trx_commit=1
    #开启服务器二进制日志
    log-bin=mysql-bin
    #设置log格式
    binlog_format=MIXED
    #忽略不同步的数据库test,这个可以不用写
    binlog-ignore-db=test
  5. 重启Master服务器数据库,检查二进制日志是否打开
    Mysql > show variables like '%bin';
    Mysql > show master status;
    锁定所有执行:
    Mysql > flush tables with read lock;
    Mysql > unlock tables;
  6. 回到Slave服务器,修改配置文件C:\ProgramData\MySQL\MySQL Server 5.6\My.ini
    server-id=2
    #忽略不同步的某张表
    replicate-ignore-table=db.name.TableName
    replicate-ignore-db=db.name
  7. 重启Slave服务器的数据库服务
    停止Slave服务
    Mysql > stop slave;
    设置Slave服务器与Master服务器数据同步
    Mysql > change master to master_host='10.10.0.144',master_user='backup',master_password='password',master_log_file='binary-log.000001',master_log_pos=120;
    查看状态
    Mysql > show slave status\G
    Mysql > start slave;
    再次查看状态
    Mysql > show slave status\G
    出现
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    即配置成功。
  8. 注意:将Slave服务器的IP地址添加到Master服务器3306端口白名单