mysql主主同步
A服务器:
host 192.168.1.101
port 3306
B服务器:
host 192.168.1.102
port 3306
1,授权用户:
A服务器
mysql>grant replication slave,file on *.* to 'repl9'@'192.168.1.102' identified by '1234569';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
B服务器
mysql>grant replication slave,file on *.* to 'repl8'@'192.168.1.101' identified by '1234568';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
2,配置文件
A服务器
log-bin=mysql-bin
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
master-host = 192.168.1.102
master-user = repl8
master-password = 1234568
master-port = 3306
B服务器
log-bin=mysql-bin
server-id = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset = 2
master-host = 192.168.1.101
master-user = repl9
master-password = 1234569
master-port = 3306
启动服务器就ok了
--------------------------------------------------
Q: 当在另一台机器上登录MySQL时出现如下错误:
ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)
A: 原因是MySQL考虑到安全因素,默认配置只让从本地登录
打开 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0
重启mysql : sudo /etc/init.d/mysql restart
========================================
101 增加,102不同步 ?????????
mysql -h192.168.1.102 -urepl8 -p1234568 ok
102 增加,101 同步
mysql -h192.168.1.101 -urepl9 -p1234569 ok
比较两组的show slave status\G;
102
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB: test
Replicate_Ignore_DB: mysql
sudo /etc/init.d/mysql restart
sudo service mysql restart 以后就变成:lave_IO_Running: YES
出现的问题(多主自增长ID重复)
解决方法:
我们只要保证两台服务器上插入的自增长数据不同就可以了
如:A查奇数ID,B插偶数ID,当然如果服务器多的话,你可以定义算法,只要不同就可以了
在这里我们在A,B上加入参数,以实现奇偶插入
A:my.ini上加入参数
相关新闻>>
- 发表评论
-
- 最新评论 更多>>