目录
一、主库配置
1、修改my.cnf
######## mysql主从同步配置【开始】 ########
log_bin=mysql-bin
server-id=1
sync-binlog=1
# 配置不同步的数据库
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys
# 配置同步的数据库
binlog-do-db=lagou
######## mysql主从同步配置【结束】 ########
2、重启mysql服务
systemctl restart mysqld
3、登录mysql之后,进行授权
grant replication slave on *.* to 'root'@'%' identified by 'root';
grant all privileges on *.* to 'root'@'%' identified by 'root';
4、刷新权限
flush privileges;
5、查看状态
show master status
注意:
若执行此命令查询结果为空,需要检查log_bin是否配置正确
可以使用以下命令查询。
show variables like '%log_bin%';
若结果为off。需要在my.cnf中添加配置
log_bin=mysql-bin
我这里配置的时候为空就是这里配置错了,mysql-bin写成了mysql_bin导致!!!
二、从库配置
1、修改my.cnf
server-id=2
relay_log=mysql-relay-bin
read_only=1
主要是server-id=2配置,其他是可选配置
2、重启mysql服务
systemctl restart mysqld
3、查看状态
show slave status;
如果是第一次配置,查询结果为空时正常的
如果查询不是空,调用stop slave停掉即可
4、设置主从同步
登录mysql,执行以下命令
change master to master_host='master的ip',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=154;
master_log_file和master_log_file对应主库【show master status】命令的执行结果中的值
5、启动slave
start slave;
6、再次查看
show slave status \G;
出现以下结果表明配置成功