mysql数据库的双向同步其实就是将主从的配置关系,在单向基础上颠倒过来配置一遍。
比如数据库s1和s2,s1的角色变成了主+从,s2的角色变成了从+主
配置方法如下:
S1配置:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
#A TO B
log-bin=mysql-bin
server-id=1
binlog-do-db=NQ
#B TO A
server-id=1
master-host=192.168.1.3
master-user=root
master-password=root
master-port=3306
master-connect-retry=60
replicate-do-db=NQ
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
S2配置:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
#A TO B
server-id=2
master-host=192.168.1.2
master-user=root
master-password=root
master-port=3306
master-connect-retry=60
replicate-do-db=NQ
#B TO A
log-bin=mysql-bin
binlog-do-db=NQ
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
大家可以参考/usr/share/mysql/my-huge.cnf的配置文件,并且其中有相关的注释,可以明白各参数作用。
在此就不讲双向同步的配置代码含义了。
在s1和s2中通过phpmyadmin进行测试,双向都能同步成功即可。
专注于 服务器运维与web架构
E-mail:venus#rootop.org