mysql双击同步_MySQL双机数据库同步设置教程

本文详细介绍了如何设置MySQL双机数据库同步,包括创建授权用户、修改主配置文件、获取二进制日志信息、设置从库以及启动和检查slave状态,确保两台主机的数据实时同步。
摘要由CSDN通过智能技术生成

两台MySQL主机:master A:192.168.100.1、master B:192.168.100.2 ,进行配置实现双机MySQL互为备份数据库,具体设置如下:

一、创建并授权用户

在两台主机上各创建一个用户并授权,使它们能够互相访问对方的数据库。

在master A上:

建立允许许master B访问的用户"user",密码为"pass"。

GRANT REPLICATION SLAVE ON *.* TO 'user'@'192.168.100.2' IDENTIFIED BY 'pass';

在master B上:

创建一个充许master A来访问的用户"user",密码为"pass"。

GRANT REPLICATION SLAVE ON *.* TO 'user'@'192.168.100.1' IDENTIFIED BY 'pass';

注:为了方便操作,两台主机数据库授权设置了同样了用户名和密码。

二、修改主配置文件

在MySQL的主配置文件中修改/ect/my.cnf添加如下内容:

master A上:

1、Server-id = 1

2、log-bin=mysql-bin

3、Replicate-do-db=test //要同步的数据库

4、auto-increment-increment = 2

5、auto-increment-offset = 1

6、server-id=2 //指定从库id

7、log-bin=mysql-bin //开启从库复制机制

重启mysql

master B上:

1、Server-id = 2

2、log-bin=mysql-bin

3、Replicate-do-db=test

4、auto-increment-increment = 2

5、auto-increment-offset = 2

6、server-id=1 //指定从库id

log-bin=mysql-bin //开启从库复制机制

注:两台主机上设置仅server-id 和 auto-increment- offset不同,其他项设置相同。auto-increment-offset是用来设定数据库中自动增长的起点值,为这两台主机都设定一次自动增长值2,它们的起点必须不同,这样才能避免两台服务器数据同步时出现主键冲突。

三、获取两台服务器的二进制日志名和偏移量

在master A上:

mysql> show master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000006 | 107 | | |

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

1 row in set

在master B上:

mysql> show master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000008 | 107 | | |

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

1 row in set

四、两台服务器进行相应设置

在master A上:

mysql>stop slave;

mysql>

CHANGE MASTER TO

MASTER_HOST='192.168.100.2',

MASTER_USER='user',

MASTER_PASSWORD='pass',

MASTER_LOG_FILE='mysql-bin.000008',

MASTER_LOG_POS=107;

在master B上:

mysql>stop slave;

mysql>

CHANGE MASTER TO

MASTER_HOST='192.168.100.1',

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将保持数据同步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值