centos8 mysql8主从配置

主机ip:192.168.1.1

从机ip:192.168.1.2

1、主节(Master)点配置

修改 Master 的配置文件/etc/my.cnf

  vi /etc/my.cnf

在my.cnf文件中加入如下配置内容

  [mysqld] 

  log-bin=mysql-bin 

  server-id=

 2、从节点(Slave)配置

修改 Slave 的配置文件/etc/my.cnf

  vi /etc/my.cnf

在my.cnf文件中加入如下配置内容

  [mysqld]

  server-id=2

3、创建用于复制操作的用户

在主节点创建一个用户repl,用于从节点链接主节点时使用。(ip填从节点的ip)

  mysql> use mysql;

  mysql> CREATE USER 'repl'@'192.168.1.2' IDENTIFIED WITH mysql_native_password BY '123456';

  mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2';

刷新授权表信息

  mysql> flush privileges;

4、获取主节点当前binary log文件名和位置(position)

生产中初次设置主从同步这个position值必须是不能随时变的

  mysql> FLUSH TABLE WITH READ LOCK; 
锁库position就停了

  mysql> SHOW MASTER STATUS;

 这里写图片描述

5、在从(Slave)节点上设置主节点参数

  mysql> CHANGE MASTER TO
  MASTER_HOST='192.168.1.1',
  MASTER_USER='repl',
  MASTER_PASSWORD='123456',
  MASTER_LOG_FILE='binlog.000006',
  MASTER_LOG_POS=856;

6、在从节点查看主从同步状态

  mysql> show slave status\G;

刚配置完是这样的,两个no

7、在从节点开启主从同步

  mysql> start slave;

8、从节点再查看主从同步状态

  mysql> show slave status\G;

如果是这种情况,一个no另一个yes,需要继续以下操作,直至两个都变成yes

查看从节点的server_id

  mysql> show variables like 'server_id';

如果不等于上面的2,需要进行以下操作

  mysql> set global server_id=2; #此处的数值和my.cnf里设置的一样就行

  mysql> show variables like 'server_id';

  mysql> stop slave;

  mysql> start slave;

  mysql> show slave status\G;

这两个变成yes就成功了

9、主节点解锁

等你设置好slave 后,在主机打开全局锁

  mysql> unlock tables;

position恢复。设置主从成功。

posted @ 2021-08-05 14:35  陈文超  阅读(348)  评论(0编辑  收藏  举报