mysql配置主从复制

  • 2018-10-25
  • 0
  • 0

1、环境说明

阿里云两台配置相同的服务器

centos6.8、mysql5.6

192.168.95.11  为主数据库服务器

192.168.95.12  为从数据库服务器

2、安装mysql

看这里 ,推荐安装相同版本的数据库

3、配置主服务器

配置文件

vim /etc/my.cnf

serverid=1  #必须。设置服务器id,为1表示主服务器

log_bin=mysqlbin  #必须。启动MySQ二进制日志系统。

binlogdodb=yourDB  #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行。

binlogignoredb=mysql  #不同步mysql系统数据库。

创建同步连接账户

在192.168.95.11中创建一个192.168.95.12主机中可以登录的MySQL用户

用户:test

密码:123456

mysql>GRANT REPLICATION SLAVE ON *.* TO ‘test’@’192.168.95.12’ IDENTIFIED BY ‘123456’;

mysql>FLUSH PRIVILEGES;

重启mysql服务

service mysql restart

查看192.168.95.11MySQL服务器二进制文件名与位置,从服务器配置需要

mysql>SHOW MASTER STATUS;

4、配置从服务器

配置文件

vim /etc/mysql/my.cnf

serverid=2  #必须。设置服务器id,为2表示从服务器

log_bin=mysqlbin  #不必须。启动MySQ二进制日志系统。

binlogdodb=yourDB #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行。

binlogignoredb=mysql  #不同步mysql系统数据库。

配置MySQL从服务器同步于MySQL主服务器

在192.168.95.12中执行,配置信息为刚才主服务器显示的内容:

mysql>stop salve #停止slave

mysql>CHANGE MASTER TO

>MASTER_HOST=’192.168.95.11′,

>MASTER_USER=’test’,

>MASTER_PASSWORD=’123456′,

>MASTER_LOG_FILE=’mysql-bin.000010′,

>MASTER_LOG_POS=120;

mysql>start salve #开启slave

最后查看状态,是否成功

mysql>show slave status;

当看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明状态正常

 

遇到的问题

结果显示

Slave_IO_Running: connecting

查看错误信息

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

原因是其中一台服务器我是通过另一台的镜像安装,所以数据库uuid会一致,导致结果一直为Slave_IO_Running: connecting状态

#显示uuid

mysql>show variables like ‘%server_uuid%’;

找到data文件夹下的auto.cnf文件,修改里面的uuid值,保证各个db的uuid不一样,重启db即可

vim /usr/local/mysql/data/auto.cnf

service mysql restart

如有任何问题欢迎留言,本文为作者原创文章,转发请注明出处,谢谢合作。

 

评论

还没有任何评论,你来说两句吧