1、两个(或多个)mysql设置对应的基数和步长(避免两个库数据同步冲突)
mysql_A:设置基数为1,步长为2
mysql_B:设置基数为2,步长为2
配置mysql_A的配置文件/etc/my.cnf
[mysqld]
……
auto-increment-increment=2
auto-increment-offset=1
……
配置mysql_B的配置文件/etc/my.cnf
[mysqld]
……
auto-increment-increment=2
auto-increment-offset=2
……
2、配置两个mysql节点的复制关系
mysql> change master to
master_host='127.0.0.1',master_user='rep_user',master_password='rep_user',master_log_file='mysql-bin.000019',master_log_pos=107;
如命令中标红的部分所示,步骤 2的“master_log_file”与步骤 1的“File”后的参数保持一致;“master_log_pos”与“Position”后的参数保持一致,。
mysql> show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
3、检查/etc/my.cnf文件,将socket参数的路径修改为“/var/lib/mysql/mysql.sock”。
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
log-bin
server-id=1
replicate-do-db=portal_database
其中:
server-id区分两个msyql不同的服务,两个不能相同
replicate-do-db主从mysql中配置需要同步的数据库