MySQL - 数据同步 - 主主设置(互为主备)

2020-05-18 16:28

MySQL 数据同步 主主设置(互为主备) 两台MySQL主机做为服务器: master-1:192.168.220.128 master-2:192.168.220.131 一、创建并授权用户 这一步在每一台(主)服务器上创建一个用户,并为之授权,使它们可以互相访问彼此的数据库。 在master-1上: 创建一个充许master-2来访问的用户user,密码为:pass GRANT REPLICATION SLAVE ON *.* TO 'user'@'192.168.220.131' IDENTIFIED BY 'pass'; 在master-2上: 创建一个充许master-1来访问的用户user,密码为:pass, GRANT REPLICATION SLAVE ON *.* TO 'user'@'192.168.220.128' IDENTIFIED BY 'pass'; 备注:为了操作方便,我们在两台服务器上,指定的访问权限时,设定的用户名和密码,一摸一样 二、修改主配置文件 在MySQL的主配置文件中修改/ect/my.cnf添加如下内容: master-1上: 57行 Server-id = 1 49行 log-bin=mysql-bin 要同步的数据库 Replicate-do-db=test auto-increment-increment = 2 重启mysql auto-increment-offset = 1 95行(指定从库id) server-id=2 log-bin=mysql-bin 113行(开启从库复制机制) master-2上: Server-id = 2 94行 log-bin=mysql-bin 112行 Replicate-do-db=test 要同步的数据库 auto-increment-increment = 2 auto-increment-offset = 2 server-id=1 95行(指定从库id) log-bin=mysql-bin 113行(开启从库复制机制)

注:二都只有server-id不同和 auto-increment- offset不同

auto-increment-offset是用来设定数据库中自动增长的起点的,回为这两能服务器都设定了一次自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突。

另:auto-increment-increment控制列中的值的增量值。 三、获取两台服务器的二进制日志名和偏移量 在master-1上:

mysql> show master status;

+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000006 | 107 | | | +------------------+----------+--------------+------------------+ 1 row in set 在master-2上:

mysql> show master status;

+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000008 | 107 | | | +------------------+----------+--------------+------------------+ 1 row in set

四、两台服务器互相做相应设置 在master-1上: mysql>stop slave; mysql>

CHANGE MASTER TO

MASTER_HOST='192.168.220.131', MASTER_USER='user',

MASTER_PASSWORD='pass',

MASTER_LOG_FILE='mysql-bin.000008', MASTER_LOG_POS=107; 在master-2上: mysql>stop slave; mysql>

CHANGE MASTER TO

MASTER_HOST='192.168.220.128', MASTER_USER='user',

MASTER_PASSWORD='pass',

MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=107;

五、启动slave线程

在两台主机上分别执行 mysql> START SLAVE;

六、查看slave状态

mysql> show slave status\\G;

Slave_IO_Running: Yes Slave_SQL_Running: Yes

注意:如果都为Yes,就是配置成功了,有时候创建数据的时候会报错,那么就要从新手动更新一下日志文件,和偏移量,保持两个数据库同步。

配置到此完成!

接下来,可以在两台服务器上,随意操作数据库。就能看到明显的效果。


MySQL - 数据同步 - 主主设置(互为主备).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机动车交通事故责任纠纷代理词

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: