鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

鲲鹏节点加入主从复制部署

配置鲲鹏节点作为MySQL的从服务器,加入到现有的主从复制架构中。

  1. 配置主库。
    1. 使用root用户登录到MySQL主库。
      1
      mysql -uroot -p -S /data/mysql/run/mysql.sock
      

      或者

      1
      /usr/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock
      
    1. 可选:如果尚未创建复制用户,则需要为主库创建复制用户,并为复制用户授予replication slave的权限。如果已按照其他文档设置了复制用户,则跳过此步骤。
      1
      2
      3
      create user 'replicate'@'%' identified with caching_sha2_password by '123456';
      grant replication slave on *.* to 'replicate'@'%';
      flush privileges;
      
    1. 可选:查看创建的复制用户。
      1
      select User from mysql.user;
      

  2. 配置主库同步方式。
    1. 登录主库。
      1
      mysql -uroot -p -S /data/mysql/run/mysql.sock
      
    1. 配置同步。
      1. 查看GTID配置。
        1
        show variables like '%gtid_mode%';
        

        如果查询结果中gtid_mode=ON,则跳过2.b;否则执行2.b配置GTID。

      2. 配置同步方式为配置GTID模式。
        1
        2
        3
        4
        5
        set global enforce_gtid_consistency='on';
        set global gtid_mode='off_permissive';
        set global gtid_mode='on_permissive';
        set global gtid_mode='on';
        show variables like '%gtid_mode%';
        
    1. 查看主库状态。
      1
      show master status;
      

      记录主库的状态信息,特别是“File”“Position”,这些在配置从库时需要使用。

  3. 可选:配置鲲鹏从库。

    如果已经按照本文(可选)在x86服务器上部署MySQL主从复制完成在x86服务器上部署MySQL主从复制,则可直接使用原有的复制用户,可跳过当前步骤。否则需要按照当前步骤创建复制用户。

    1. 登录从库。
      1
      mysql -uroot -p123456 -S /data/mysql/run/mysql.sock
      
    2. 可选:如果尚未创建复制用户,则需要为从库创建复制用户(用户名为replicate,密码为123456),并为复制用户授予replication slave的权限。如果已经设置了复制用户,则跳过此步骤。
      1
      2
      3
      create user 'replicate'@'%' identified with caching_sha2_password by '123456';
      grant replication slave on *.* to 'replicate'@'%';
      flush privileges;
      
  4. 配置从库同步方式。
    1. 登录从库。
      1
      mysql -uroot -p123456 -S /data/mysql/run/mysql.sock
      
    1. 配置同步方式为配置GTID模式。
      1
      2
      3
      4
      5
      set global enforce_gtid_consistency='on';
      set global gtid_mode='off_permissive';
      set global gtid_mode='on_permissive';
      set global gtid_mode='on';
      show variables like '%gtid_mode%';
      
  5. 将鲲鹏节点与主库建立主从关系。
    1. 登录从库。
      1
      mysql -uroot -p123456 -S /data/mysql/run/mysql.sock
      
    1. 建立主从关系。

      使用之前记录的主库信息配置从库,以连接到主库。

      1
      change master to master_host='192.168.0.1',master_port=3306,master_user='replicate',master_password='123456',master_auto_position=1, get_master_public_key=1;
      

      192.168.0.1为主库的IP地址,请根据实际情况修改。

  6. 启动鲲鹏从库复制。
    1. 登录MySQL后运行如下SQL语句启动从库的复制进程。
      1
      start slave;
      

      若出现如下报错,请尝试重置从库配置后再启动,详细解决方案请参见将鲲鹏节点加入主从复制部署过程中提示ERROR 1872

      1
      2
      mysql> start slave;
      ERROR 1872 (HY000): Replica failed to initialize applier metadata structure from the repository
      
    1. 查看从库状态。

      检查从库的状态以确保复制正在运行。

      1
      show slave status\G;
      

      查询结果中,“Slave_IO_Running”“Slave_SQL_Running”均为“Yes”表示从库启动成功。

      • “Slave_IO_Running: Yes”表示从库与主库之间的IO线程正在运行,且能够正常实施复制工作。
      • “Slave_SQL_Running: Yes”表示从库的SQL执行线程正在运行中。
  7. 登录主库查看从库状态。
    1
    show slave hosts;
    

    Server_id、Host和Master_id与表3中一致,表示部署成功。