mysql 主从复制配置(binlog[Master-Slave])

  • 服务器1的mysql服务(主库)

  • my.cnf配置(主库)

  • [mysqld]
    server-id=1            #主从mysql服务器设置不同值
    log-bin=mysql-bin      #开启binlog二进制日志
    binlog-do-db=test666   #需要复制的数据库名,多数据库重复设置这个选项 
    binlog-ignore-db=      #不需要复制的数据库名,多个数据库重复设置这个选项
  • 创建同步账号

    grant replication slave on *.* to 'hui' identified by '123456';
  • 查询主库状态

    show master status;

  • 服务器2的mysql服务(从库)

  • my.cnf配置(从库)

    [mysqld]
    server-id=2                 #主从mysql服务器设置不同值
    relay_log=mysql-relay-bin   #开启从库binlog二进制日志
    read_only=1                 #它防止改变数据(除了特殊的线程
    replicate-do-db=test666     #需要复制的数据库名,多数据库重复设置这个选项 
    replicate-ignore-db=        #不需要复制的数据库名,多个数据库重复设置这个选项
  • 从库连接主库

CHANGE MASTER TO 
MASTER_HOST='192.168.0.3', 
MASTER_USER='hui', 
MASTER_PASSWORD='123456', 
MASTER_LOG_FILE='mysql-bin.000001', 
MASTER_LOG_POS=322;
  • 启动连接

start slave;
  • 查看从库状态

    show slave status;

    其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。

  • 重置从库连接

    stop slave;
    reset master;
    reset slave;
    重新连接主库  CHANGE MASTER TO...那段..
    start slave;

  • 验证:主库数据库创建表/增删改查操作,查看从库是否同步

你可能感兴趣的:(mysql,数据库,服务器)