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 |
+------------------+----------+-------------------+------------------+