mysql-2、mysql集群之主从同步

目录

    • 一、主库配置
      • 1、修改my.cnf
      • 2、重启mysql服务
      • 3、登录mysql之后,进行授权
      • 4、刷新权限
      • 5、查看状态
    • 二、从库配置
      • 1、修改my.cnf
      • 2、重启mysql服务
      • 3、查看状态
      • 4、设置主从同步
      • 5、启动slave
      • 6、再次查看
    • 三、测试

一、主库配置

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';

mysql-2、mysql集群之主从同步_第1张图片

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;

出现以下结果表明配置成功
mysql-2、mysql集群之主从同步_第2张图片

三、测试

mysql-2、mysql集群之主从同步_第3张图片

你可能感兴趣的:(linux,mysql,mysql,linux)