美文网首页
mysql 主从配置

mysql 主从配置

作者: 随便咯_30ac | 来源:发表于2021-07-23 09:59 被阅读0次

实现MySQL主从复制需要进行的配置

  • 主服务器 - 192.168.1.24:

    • 开启二进制日志

    • 配置唯一的server-id

    • 获得master二进制日志文件名及位置

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

  • 从服务器 - 192.168.1.104:

    • 配置唯一的server-id

    • 使用master分配的用户账号读取master二进制日志

    • 启用slave服务

准备工作

  • 主从数据库版本最好一致
  • 主从数据库内数据保持一致

主数据库master修改

  • 修改mysql配置 (找到主数据库的配置文件my.cnf(或者my.ini),我的在/etc/mysql/my.cnf,在[mysqld]部分插入如下两行)

    #开启二进制日志
    log-bin=mysql-bin
    #设置日志格式
    binlog-format=ROW
    #设置server-id
    server-id=1 
    #设置主从复制数据库
    binlog-do-db=zhu_cong_test
    
  • 重启mysql,创建用于同步的用户账号

    #创建用户
    CREATE USER 'slave'@'192.168.1.104' IDENTIFIED BY '123456';
    #分配权限
    GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.104';
    #刷新权限
    flush privileges;
    
  • 查看master状态,记录二进制文件名和位置

    mysql> SHOW MASTER STATUS\G;
    *************************** 1. row ***************************
                 File: mysql-bin.000005
             Position: 154
         Binlog_Do_DB: zhu_cong_test
     Binlog_Ignore_DB:
    Executed_Gtid_Set:
    1 row in set (0.00 sec)
    

从数据库slave修改

  • 同样找到my.cnf配置文件,添加server-id

    #设置server-id,必须唯一
    server-id=2
    #开启二进制日志
    log-bin=mysql-bin
    #设置日志格式
    binlog-format=ROW
    
  • 重启mysql,打开mysql会话,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置)

    #设置同步
    CHANGE MASTER TO MASTER_HOST='192.168.1.24', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=154;
    #启动slave同步进程
    start slave;
    #查看slave状态
    show slave status\G;
    
  • 查看slave状态:(Slave_IO_Running: Yes Slave_SQL_Running: Yes)

    mysql> show slave status\G;
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 192.168.1.24
                      Master_User: salve
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000005
              Read_Master_Log_Pos: 154
                   Relay_Log_File: localhost-relay-bin.000002
                    Relay_Log_Pos: 1383
            Relay_Master_Log_File: mysql-bin.000005
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
    
    

    主要确认 Master_Host,Master_User,Master_Port,Master_Log_File,Read_Master_Log_Pos 是否与主服务器一致

相关文章

网友评论

      本文标题:mysql 主从配置

      本文链接:https://www.haomeiwen.com/subject/xemumltx.html