Mysql主主复制架构配置

MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任
何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器
互为主从,并且都能向外提供服务。 这就比使用主从复制具有更好的性能。
接下来我将使用两个同样的服务器来实现这个效果:

server1_master:172.16.19.190
server2_slave: 172.16.19.195
拓扑结构:
server1_master——-server2_slave

1.创建用户并授权
master:
mysql> grant replication slave on . to ‘backup’@’172.16.19.195’ identified by ‘Funbike0755’;
slave:
mysql> grant replication slave on . to ‘master’@’172.16.19.190’ identified by ‘Funbike0755’;

2.修改Mysql的主配置文件/etc/my.cnf
master:
[mysqld]
server-id = 10 #任意自然数n,只要保证两台MySQL主机不重复就可以了。
log-bin = mysql-bin #开启二进制日志
auto-increment-increment = 2 #步进值auto_imcrement。一般有n台主MySQL就填n
auto-increment-offset = 1 #起始值。一般填第n台主MySQL。此时为第一台主MySQL
binlog-do-db = mydb #要同步的数据库,默认所有库,多个用逗号隔开【可不填】
binlog-ignore-db = mydb #不需要同步的数据库,多个用逗号隔开【可不填】
启动Mysql服务:service mysqld restart

slave:
[mysqld]
server-id = 20
log-bin = mysql-bin
auto-increment-increment = 2
auto-increment-offset = 2
启动Mysql服务:service mysqld restart
注:二者只有server-id不同和 auto-increment- offset不同
auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2。
3.重新启动两个服务器:service mysqld restart
4.在master主机上:show master status 得到相应的信息:
回到slave主机上并登录到mysql, 首先stop slave;然后使用如下命令:
change master to master_host=’172.16.19.190’, master_port=3306, master_user=’backup’,master_password=’123456’,master_log_file=’mysql-bin.000013’,master_log_pos=632;
重启start slave. 使用如下命令:
show slave status\G用来查看从服务器配置,如果出现下面的情况为正确:
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
在slave主机上:show master status得到相应的信息:
回以master主机上并登录到mysql,首先stop slave;然后使用如下命令:
change master to master_host=’172.16.19.195’, master_port=3306, master_user=’backup’,master_password=’123456’,master_log_file=’mysql-bin.000013’,master_log_pos=334;
重启start slave.使用如下命令:
show slave status\G用来查看从服务器配置,如果出现下面的情况为正确:
Slave_IO_Running:Yes
Slave_SQL_Running:Yes

你可能感兴趣的:(CentOS)