mysql跨服务器备份_mysql实现两台服务器双向备份(window系统)

mysql实现两台服务器双向备份(window系统)

假设有两台服务器A和B,IP地址如下:

192.168.10.122(A)

192.168.10.123(B)

先保证这mysql的版本是一致的

1.在两台mysql上创建用户,设置权限,我这里用的是root用户

A上添加:

以下是代码片段:grant all privileges on *.* to root@'192.168.10.123' identified by 'root' with grant option;//用于B访问

B上:

以下是代码片段:grant all privileges on *.* to root@'192.168.10.122' identified by 'root' with grant option;//用于A访问

2.1修改A上的配置文件my.ini,加入以下代码:

server-id=1;

log-bin=mysql-bin;

binlog-do-db=mysql; #表示要备份的数据库

replicate-do-db=mysql#表示要同步的数据库

replay-log=mysql-relay-bin;

注意:以下这些建议在mysql控制台用命令输入,因为直接在配置文件里面加入以下内容,可能导致mysql无法启动,至于是不是不识别的原因就不知道了:master-host     =192.168.10.123

master-user     = root

master-password = root

MASTER_LOG_POS=0

mysql控制台:

mysql> CHANGE MASTER TO MASTER_HOST='192.168.10.123',

-> MASTER_USER='root',

-> MASTER_PASSWORD='root',

-> MASTER_LOG_POS=0;

运行SHOW MASTER STATUS,输出如下:

2.2修改B上的配置文件my.ini,加入以下代码:

server-id=2;

log-bin=mysql-bin;

binlog-do-db=mysql;

replay-log=mysql-relay-bin;

replicate-do-db=mysql

mysql> CHANGE MASTER TO MASTER_HOST='192.168.10.122',

-> MASTER_USER='root',

-> MASTER_PASSWORD='root',

-> MASTER_LOG_POS=0;

运行SHOWSLAVE STATUS\G

Slave_IO_State: Waiting for master to send event

Master_Host:192.168.10.122

Master_User: root

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 164

Relay_Log_File: mysql-relay-bin.000001

Relay_Log_Pos: 164

Relay_Master_Log_File: mysql-bin.000001

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

...omitted...

Seconds_Behind_Master: 0

3.双向同步测试

Ø检查当在两台机器的任何一台mysql中修改数据时,另外的那台的数据是否也修改

Ø关闭其中一台mysql的服务后,更新另一台mysql的数据,再启动已停止的那台mysql服务器,查看数据是否修改

Ø4.特别注意事项:

Ø请在任何时候都不要非法关机,否则将会造成同步数据的错乱。

如果因为非法关机或其他原因导致数据已经完全错乱,请先在两台机器上停止slave服务,然后将数据正常的服务器上的数据导入到不正常的服务器上,保证两边的服务器数据一致。然后到数据正常的服务器的mysql控制台下输入:

Show master status;

获取其状态后,根据这个状态到数据不正常服务器上,通过命令

CHANGE MASTER TO Master_Log_File='mysql-bin.0000xx',Master_Log_Pos=xx;

修改其参数后,再重新启动mysql,查看其状态

同步一旦配置好后,请不要修改服务器机器名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值