mysql master-master-slave实验
admin
2023-06-05 03:21:19
0次

实现结构: mysql master-master-slave实验

前提条件,这是全新的安装mysql服务器,已经在运行的mysql需要先做备件,并还原到另外的机子上。


master A:192.168.168.128

master B:192.168.168.129

slave  192.168.168.130


  1. 在三台机子上分别安装mysql 

    [root@yaho ~]# yum install -y mysql mysql-server mysql-dev

  2. 修改master A和master B还有slave的配置文件。

    [root@yaho ~]#vim /etc/my.cnf 


    master A: 在[mysqld]内添加(修改)


         server-id         = 128  

         log-bin             = mysql-bin

         sync-binlog        = 1     

        auto_increment_offset   = 1      #起始值

        auto_increment_increment = 2      #步长

         slave-skip-errors=1007,1008          #跳过无法创建数据库错误和无法删除数据库错误,如果所有mysql的数据库都一样,可以不加

      # slave-skip-errors=all              #跳过所有错误,其实这个参数挺危险的,很容易造成几台mysql数据不一致

        log-slave-updates         #写入从master复制操作的记录到本地bin-log日志,以实现slave的完整同步(备份)

  master B: 在[mysqld]内添加(修改)


     server-id         = 129  

     log-bin             = mysql-bin

     sync-binlog        = 1     

    auto_increment_offset   = 2      #起始值

    auto_increment_increment = 2       #步长      

   slave-skip-errors=1007,1008          #跳过无法创建数据库错误和无法删除数据库错误,如果所有mysql的数据库都一样,可以不加

    # slave-skip-errors=all              #跳过所有错误,其实这个参数挺危险的,很容易造成几台mysql数据不一致

      log-slave-updates                 #写入从master复制操作的记录到本地bin-log日志,以实现slave的完整同步(备份)

 

  

  slave: 在[mysqld]内添加(修改)

   server-id        = 130      

   slave-skip-errors=1007,1008          #跳过无法创建数据库错误和无法删除数据库错误,如果所有mysql的数据库都一样,可以不加

  # slave-skip-errors=all              #跳过所有错误,其实这个参数挺危险的,很容易造成几台mysql数据不一致 

    log-slave-updates                 #写入从master复制操作的记录到本地bin-log日志,以实现slave的完整同步(备份)


3.分别启动3台master的mysql,建立同步用户,并给IP授权,允许远程访问。

[root@yaho ~]#service mysqld start

master A:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.2168.129' identified by '123456'; #给master B 授权

master B:

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.128' identified by '123456'; #给master A授权 

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.130' identified by '123456'; #给slave授权 

4.查看master A 和master 的maste 状态信息:

mysql>show master status;


+------------------+----------+

| File             | Position | 

+------------------+----------+

| mysql-bin.000001 |     106  | 

+------------------+----------+


5.连接master,实现主-主-从

master A:


mysql>change master to master_host='192.168.168.129',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;

master B:

mysql>change master to master_host='192.168.168.128',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;


slave:

mysql>change master to master_host='192.168.168.129',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;


6.分别在三台机子上启动slave功能:

mysql>start slave;

mysql>show slave status\G;

如果下面两项都为YES,意味着成功。

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes


测试--略:

只需要在随便在哪个master创建一个数据库,然后show一下,如果另外两个mysql都有这个数据库,则意味成功。

注意:如果mysqld启动不起来,可以先注释 log-slave-updates 这行,当主从建立起来后再去掉注释。


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...