mysql5.7主从配置及出现的问题
主库ip:192.168.1.27
从库ip:192.168.1.41
配置主库
修改my.cnf文件
[root@bogon ~]# vi /etc/my.cnf
在[mysqld]加入下面的内容
# 服务的唯一编号 server-id = 1 # 开启mysql binlog功能 log-bin = mysql-bin # binlog记录内容的方式,记录被操作的每一行 binlog_format = ROW # 减少记录日志的内容,只记录受影响的列 binlog_row_image = minimal # 指定需要复制的数据库名为zhucong binlog-do-db = zhucong
保存并重启mysql
进入mysql终端 创建从库同步数据的账号
mysql> grant replication slave on *.* to '【账号名称】'@'192.168.1.41' identified by '【账号密码】'; mysql> flush privileges;
查看主库状态:
mysql> show master status \G;
配置从库:
修改my.cnf文件
[root@bogon ~]# vi /etc/my.cnf
在[mysqld]加入下面的内容
# 服务的唯一编号 server-id = 2 # 开启mysql binlog功能 log-bin = mysql-bin # binlog记录内容的方式,记录被操作的每一行 binlog_format = ROW # 减少记录日志的内容,只记录受影响的列 binlog_row_image = minimal # 指定需要复制的数据库名为zhucong replicate-do-db = zhucong
保存并重启mysql
[root@bogon ~]# systemctl restart mysqld
在mysql终端执行:
// 设置主服务器ip,同步账号密码,同步位置 mysql> change master to master_host='192.168.1.27',master_user='【在主库创建的账号名称】',master_password='【账号密码】',master_log_file='mysql-bin.000001',master_log_pos=2680; // 开启同步功能 mysql> start slave;
master_log_file与master_log_pos的值对应主库的 File 和 Position
查看从库状态:
mysql> show slave status \G;
Slave_IO_Running和Slave_SQL_Running的状态都为Yes时,说明从库配置成功
配置中出现的问题:
2020-06-28T07:07:24.160227Z 3 [ERROR] Slave I/O for channel '': 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. Error_code: 1593
问题原因:从服务器是克隆的主服务器,server-uuid一样
解决:
找到mysql安装地址
show variables like 'datadir';
生成一个UUID
mysql> select uuid();
修改auto.cnf
[root@bogon ~]# vi /var/lib/mysql/auto.cnf
[auto] server-uuid=58dbfe75-b91b-11ea-866a-000c29b0116a
重启mysql