MySQL主从复制配置(记录篇)

在上篇CentOS7安装mysql遇到的问题(记录篇)后(https://blog.csdn.net/wszhlzjl/article/details/108887808),进入下一步,主从复制配置。

我是通过虚拟机安装的主数据库,从数据库是通过克隆的方式,这就会有主从数据库UUID一样的问题,后面会讲到修改方法。

一台虚拟机又克隆了两台

192.168.1.31  master

192.168.1.56  slave

常用命令 启动/停止

service  mysqld  start|stop|restart
systemctl  start|stop|restart  mysqld

1、配置主库:

1)、授权给从数据库服务器

mysql>GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.1.56' identified by '123456';
mysql>FLUSH PRIVILEGES;

2)、修改主库配置文件,开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效

vim /etc/my.cnf

在该配置文件[mysqld]下面添加下面内容:

[mysqld]
log-bin=/var/lib/mysql/binlog //同步的log记录文件
server-id=1    
binlog-do-db = cmdb //同步的数据库

还可以设置不同步的数据库:

如不同步mysql库和test库

binlog-ignore-db = mysql
binlog-ignore-db = test

修改配置文件后,重启服务:service mysqld restart,切记切记!

3)、查看主数据库状态

show variables like 'log_bin%';
show master status;

查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复

2、从数据库配置:

1)、还是从配置文件着手,在/etc/my.cnf 添加下面配置:

[mysqld]
server-id=2

修改配置文件后,重启服务:service mysqld restart,切记切记!

从mysql5.5+版本主从复制的从数据库配置变量,需要在从库上用命令来设置:

mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.31',
  MASTER_PORT=3306,
  MASTER_USER='rep1',
  MASTER_PASSWORD='test123456',
  MASTER_LOG_FILE='binlog.000001',
  MASTER_LOG_POS=154; #后面两个参数的值与主库保持一致

2)、查看从数据库状态

show slave status\G;

这时就会报如下错误:

Last_IO_Error: 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 发现该文件在/var/lib/mysql/auto.cnf下,将里面uuid的值随便改一个即可

重启服务:service mysqld restart;

3)、再次查看从库状态

这样主从复制就配置完了。

可以试着修改一下主库,再看一下从库是否也改变了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值