mysql master-master-slave实验

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

实现结构: wKiom1gAfT3B_dq_AAATIqhLvko501.png

前提条件,这是全新的安装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 这行,当主从建立起来后再去掉注释。







      本文转自笔下生辉  51CTO博客,原文链接:http://blog.51cto.com/752030200/1861930 ,如需转载请自行联系原作者





相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 关系型数据库 MySQL
MySQL数据库实验九 MySQL应用系统开发
MySQL数据库实验九 MySQL应用系统开发
310 0
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
79 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
7月前
|
存储 Java 关系型数据库
实验设备管理系统【GUI/Swing+MySQL】(Java课设)
实验设备管理系统【GUI/Swing+MySQL】(Java课设)
31 0
|
安全 关系型数据库 MySQL
MySQL数据库实验七 MySQL安全管理
MySQL数据库实验七 MySQL安全管理
257 0
|
存储 关系型数据库 MySQL
MySQL数据库实验六 MySQL并发事务与锁机制
MySQL数据库实验六 MySQL并发事务与锁机制
105 0
|
关系型数据库 MySQL 数据库
MySQL数据库实验三 MySQL查询
MySQL数据库实验三 MySQL查询
444 0
|
关系型数据库 MySQL 数据库
MySQL数据库实验一 MySQL语言基础
MySQL数据库实验一 MySQL语言基础
142 0
|
关系型数据库 MySQL Serverless
|
弹性计算 关系型数据库 MySQL
基于ECS和云数据库RDS MySQL Serverless快速搭建个人博客实验体验报告
通过安装Apache+PHP+WordPress网站环境,并结合RDS MySQL版数据库实例,快速搭建自己的云上博客。
329 43
|
关系型数据库 MySQL 索引
MySQL命中索引代码实验案例
MySQL命中索引代码实验案例
117 0