实战环境介绍:

服务器名

IP

系统

MySQL

odd.example.com

192.168.1.116

rhel-5.8

5.5.16

even.example.com

192.168.1.115

rhel-5.8

5.5.16

假设要同步的库是 db_rocky

㈠ 创建同步用户

在 ODD上

mysql> grant replication slave on *.* to 'water'@'192.168.1.115' identified by 'cdio2010';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave on *.* to 'water'@'192.168.1.115' identified by 'cdio2010';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

在 EVEN 上

mysql> grant replication slave on *.* to 'water'@'192.168.1.116' identified by 'cdio2010';

Query OK, 0 rows affected (0.11 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave on *.* to 'water'@'192.168.1.116' identified by 'cdio2010';

Query OK, 0 rows affected (0.11 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

㈡ 修改 /etc/my.cnf 配置文件,为其添加以下内容:

在 ODD 上

[mysqld]

binlog-do-db=db_rocky #需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

binlog-ignore-db=mysql #不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

replicate-do-db=db_rocky #需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-do-db选项

replicate-ignore-db=mysql,information_schema #不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db选项

#同步参数:

#保证slave挂在任何一台master上都会接收到另一个master的写入信息

log-slave-updates

sync_binlog=1

auto_increment_offset=1

auto_increment_increment=2

slave-skip-errors=all #过滤掉一些没啥大问题的错误

[mysqld]

binlog-do-db=db_rocky #需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

binlog-ignore-db=mysql #不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

replicate-do-db=db_rocky #需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-do-db选项

replicate-ignore-db=mysql,information_schema #不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db选项

#同步参数:

#保证slave挂在任何一台master上都会接收到另一个master的写入信息

log-slave-updates

sync_binlog=1

auto_increment_offset=1

auto_increment_increment=2

slave-skip-errors=all #过滤掉一些没啥大问题的错误

在 EVEN 上

[mysqld]

server-id=2 #设置一个不同的id、注意这里在my.cnf里面有个默认值是 1 、把默认值改掉、而不能新增一个server-id

binlog-do-db=db_rocky #需要记录二进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

binlog-ignore-db=mysql #不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-ignore-db选项

#需要同步的数据库

replicate-do-db=db_rocky #需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

replicate-ignore-db=mysql,information_schema #不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

#同步参数:

#保证slave挂在任何一台master上都会接收到另一个master的写入信息

log-slave-updates

sync_binlog=1

auto_increment_offset=2

auto_increment_increment=2

slave-skip-errors=all #过滤掉一些没啥大问题的错误

[mysqld]

server-id=2 #设置一个不同的id、注意这里在my.cnf里面有个默认值是 1 、把默认值改掉、而不能新增一个server-id

binlog-do-db=db_rocky #需要记录二进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

binlog-ignore-db=mysql #不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-ignore-db选项

#需要同步的数据库

replicate-do-db=db_rocky #需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

replicate-ignore-db=mysql,information_schema #不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

#同步参数:

#保证slave挂在任何一台master上都会接收到另一个master的写入信息

log-slave-updates

sync_binlog=1

auto_increment_offset=2

auto_increment_increment=2

slave-skip-errors=all #过滤掉一些没啥大问题的错误

㈢ 分别重启服务器ODD  EVEN 上的mysql服务

㈣ 分别在服务器ODD、EVEN 上查看做为主服务器状态

在ODD

mysql> flush tables with read lock;#防止进入新的数据

Query OK, 0 rows affected (0.00 sec)

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000007

Position: 438

Binlog_Do_DB: db_rocky

Binlog_Ignore_DB: mysql

1 row in set (0.00 sec)

mysql> flush tables with read lock;#防止进入新的数据

Query OK, 0 rows affected (0.00 sec)

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000007

Position: 438

Binlog_Do_DB: db_rocky

Binlog_Ignore_DB: mysql

1 row in set (0.00 sec)

在EVEN

mysql> flush tables with read lock;

Query OK, 0 rows affected (0.00 sec)

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000008

Position: 107

Binlog_Do_DB: db_rocky

Binlog_Ignore_DB: mysql

1 row in set (0.01 sec)

mysql> flush tables with read lock;

Query OK, 0 rows affected (0.00 sec)

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000008

Position: 107

Binlog_Do_DB: db_rocky

Binlog_Ignore_DB: mysql

1 row in set (0.01 sec)

㈤ 分别在服务器ODD、EVEN上用change master语句指定同步位置 :

在ODD

mysql> change master to master_host='192.168.1.115',master_user='water',master_password='cdio2010',

-> master_log_file='mysql-bin.000008',master_log_pos=107;

Query OK, 0 rows affected (0.05 sec)

mysql> change master to master_host='192.168.1.115',master_user='water',master_password='cdio2010',

-> master_log_file='mysql-bin.000008',master_log_pos=107;

Query OK, 0 rows affected (0.05 sec)

在EVEN

mysql> change master to master_host='192.168.1.116',master_user='water',master_password='cdio2010',

-> master_log_file='mysql-bin.000007',master_log_pos=438;

Query OK, 0 rows affected (0.15 sec)

mysql> change master to master_host='192.168.1.116',master_user='water',master_password='cdio2010',

-> master_log_file='mysql-bin.000007',master_log_pos=438;

Query OK, 0 rows affected (0.15 sec)

注:master_log_file,master_log_pos由上面主服务器查出的状态值中确定

master_log_file对应File,master_log_pos对应Position

在ODD EVEN上

mysql> unlock tables;

Query OK, 0 rows affected (0.00 sec)

mysql> unlock tables;

Query OK, 0 rows affected (0.00 sec)

㈥ 分别在服务器ODD、EVEN上启动从服务器线程

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

分别在服务器ODD、EVEN上查看从服务器状态 :

ODD上

mysql> show slave status\G;

*************************** 1. row ***************************

主要关注以下 2 个参数:

...

...

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

...

...

EVEN上:

mysql> show slave status\G;

*************************** 1. row ***************************

主要关注以下 2 个参数:

...

...

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

...

...

ODD上

mysql> show slave status\G;

*************************** 1. row ***************************

主要关注以下 2 个参数:

...

...

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

...

...

EVEN上:

mysql> show slave status\G;

*************************** 1. row ***************************

主要关注以下 2 个参数:

...

...

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

...

...

㈦ 测试

EVEN 上

mysql> show databases;

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

| Database           |

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

| information_schema |

| db_rocky           |

| mysql              |

| performance_schema |

| test               |

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

5 rows in set (0.00 sec)

mysql> use db_rocky;

Database changed

mysql> show tables;

Empty set (0.00 sec)

mysql> create table water (id int);

Query OK, 0 rows affected (0.04 sec)

mysql> insert into water values(1);

Query OK, 1 row affected (0.01 sec)

mysql> commit;

Query OK, 0 rows affected (0.00 sec)

在 ODD 上

mysql> show tables;

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

| Tables_in_db_rocky |

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

| t_rocky            |

| water              |

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

2 rows in set (0.00 sec)

mysql> select * from water;

+------+

| id   |

+------+

|    1 |

+------+

1 row in set (0.00 sec)

EVEN 上

mysql> show databases;

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

| Database |

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

| information_schema |

| db_rocky |

| mysql |

| performance_schema |

| test |

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

5 rows in set (0.00 sec)

mysql> use db_rocky;

Database changed

mysql> show tables;

Empty set (0.00 sec)

mysql> create table water (id int);

Query OK, 0 rows affected (0.04 sec)

mysql> insert into water values(1);

Query OK, 1 row affected (0.01 sec)

mysql> commit;

Query OK, 0 rows affected (0.00 sec)

在 ODD 上

mysql> show tables;

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

| Tables_in_db_rocky |

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

| t_rocky |

| water |

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

2 rows in set (0.00 sec)

mysql> select * from water;

+------+

| id |

+------+

| 1 |

+------+

1 row in set (0.00 sec)

mysql 主主同步配置_MySQL 主主同步配置相关推荐

  1. mysql主备数据库配置_MySQL双主互备配置

    #主数据库配置 1.修改my.conf(windows下是my.ini)文件: 在[mysqld]部分插入如下两行: #开启二进制日志 log-bin=mysql-bin #设置server-id s ...

  2. mysql双主故障自动切换_mysql双主热备宕机自动切换

    一.定义 通常说的「双机热备」是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短. 二.原理 Keepal ...

  3. mysql 主键 sql语句_Mysql 增加主键或者修改主键的sql语句操作

    添加表字段 alter table table1 add transactor varchar(10) not null; alter table table1 add id int unsigned ...

  4. mysql设置主键的作用_mysql设置主键有什么用

    mysql设置主键的作用是:1.唯一地标识表中的每一行,通过它可强制表的实体完整性:2.主要是用于其他表的外键关联,以及本记录的修改与删除. [相关学习推荐:mysql教程] mysql设置主键的作用 ...

  5. mysql 半同步关闭_MySQL的半同步模式配置

    1.什么是半同步? 在有一台主服务器.多台从服务器的情况下,主服务器只会等待一台从服务器同步数据. 2.为什么要使用半同步? 在使用同步模式时,数据的写速度太慢. 在使用异步模式时,可能会造成从服务器 ...

  6. ubuntu mysql主从配置_MYSQL 主从数据库的配置 ubuntu 12.04

    环境: 主服务器:centos 5.2 mysql 5.1.35  IP:192.168.1.22 从服务器:centos 5.2 mysql 5.1.35  IP:192.168.1.33 配置: ...

  7. mysql有热备设置_Mysql数据热备配置与操作方法

    Server: 1.grant all on *.* to postfix@'192.168.128.174' identified by 'postfix'; --新建授权用户 2.# cd /va ...

  8. mysql.ini环境配置_mysql环境安装与配置

    一.安装 1.下载mysql 官网:https://dev.mysql.com/downloads/mysql/,本人用的目前的最新版本8.0.19,版本格式为zip,如下图 2.解压到指定路径,如下 ...

  9. mysql双机配置_mysql 双机热备配置详解

    花了大半天的时间研究mysql 5.0.* ,参考了很多文档,总算将mysql的双机热备给搞定了.心情很好,写个文章纪念一下.因为以后还可能实际用到,所以也作以下笔记. 使用两台虚拟机,nod1和no ...

  10. ubuntu mysql双主热备配置_MySql双主热备配置

    用四台服务器配置MySql双主热备配置 主机1服务器ip:192.168.31.208 主机2服务器ip:192.168.31.133 从机1服务器ip:192.168.31.121 从机2服务器ip ...

最新文章

  1. B-监狱逃脱(BFS)
  2. EasyPHP-Devserver-17的坑位
  3. 数据结构与算法-ADT-Array
  4. php根据汉字首字母分组,利用PHP获取汉字首字母并且分组排序详解
  5. Python生成大量随机人员信息
  6. 《玩转D语言系列》一、通过四个版本的 Hello Word 初识D语言
  7. Java的JAR包, EAR包 ,WAR包内部结构
  8. gbdt 算法比随机森林容易_机器学习军火库 | 浪漫算法 随机森林
  9. matlab wnetreg,MATLAB神经网络工具箱函数
  10. Luogu6186 [NOI Online #1 提高组] 冒泡排序
  11. RJ45和RJ11的线序以及用途
  12. 数据结构(三)---树
  13. 专业工作站版、企业版、企业LTSC版、Servers版哪个更稳定更适合应对灾难
  14. 蕾哈娜首个护肤品牌全球发售;凯悦首旅如家合资首批五家逸扉酒店揭幕 | 美通企业日报...
  15. 计算机网络与通信之局域网
  16. 电气控制电路图——(1)识读
  17. INS/GPS 制导的 SDB 炸弹投放域计算与分析
  18. HTTP 与 HTTPS 的理解
  19. Google 桌面搜索的使用
  20. 南玻A高管蹊跷离职的三大谜团

热门文章

  1. union all与空字段的一种用法
  2. 认识RAID磁盘阵列
  3. 从零构建一个简单的 Python 框架
  4. 如何卸载Exchange Server 2010
  5. keepalive实验配置
  6. 介绍一个.Net资源站点
  7. 对xxl-job进行simpleTrigger并动态创建任务扩展
  8. 史上最详细版Centos6安装详细教程
  9. 比CRUD多一点儿(三):UPDATE、DELETE语句
  10. linux curl 使用详解 常见应用