linux AS5的mysql双向同步

首先,安装mysql,具体步骤就不说了。

假设A服务器为(192.168.10.101)B服务器为(192.168.10.102)

在A服务器上修改/etc/my.cnf文件 在mysqld下修改

server-id = 1  ####这里是表示为主服务器即master

实现双机备份段,给MASTER同时加上SLAVE段,可选,如果不选,那就是单项的主从备份。

master-host=192.168.10.102
master-user=backup            #############用户名
master-password=backup    #############密码
master-port=3327
master-connect-retry=60

之后登陆mysql

使用如下命令来开启MASTER(A)-》slave(B)主机的帐号

数据库中加一个账号:
GRANT FILE,REPLICATION SLAVE,REPLICATION CLIENT,SUPER ON *.*
TO backup@'192.168.10.102' IDENTIFIED by 'backup';

这个权限表示,这个backup账号只能由从备份机192.168.10.102访问只能用来进行备份操作。

这样A上的mysql就配置好了。

B服务器上的配置

1.修改my.cnf 文件

添加如下字段

master-host=192.168.10.101
master-user=backup
master-password=backup
master-port=3327
master-connect-retry=60

据库中加一个账号:

GRANT FILE,REPLICATION SLAVE,REPLICATION CLIENT,SUPER ON *.*

TO backup@'192.168.10.101' IDENTIFIED by 'backup';

这样我们的B服务器就配置好了!之后从启mysql。

从启后查看数据库是否同步成功;使用如下命令。

用show slave status\G;看一下从服务器的同步情况

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果都是yes,那代表已经在同步

如果出现NO这样我们需要使用下面的方法去解决问题。

在从服务器上使用 MySQL命令符下:

slave stop;

CHANGE MASTER TO MASTER_LOG_FILE='你的主服务器的bin',MASTER_LOG_POS=你的主服务器的日志;

slave start;

怎么查看主服务器的bin ;和日志呢。使用如下命令。

show master status;

显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000025 | 313361 | test | mysql |

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