Mysql 8.0 主从配置

说明:
主机器地址: 192.168.16.121
从机器地址: 192.168.16.120
Mysql版本:8.0.26
同步的数据库:mycat,需要在主从在提前创建好该数据

1、主节(Master)点配置
修改 Master 的配置文件/etc/my.cnf

vi /etc/my.cnf

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

#mysql服务唯一id,不同的mysql服务必须拥有全局唯一的id
server-id=1
#启动二进制日期
log-bin=mysql-bin
#设置不要复制的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information-schema
#设置需要复制的数据库
binlog-do-db=mycat
#设置binlog的格式
binlog_format=statement

2、从节点(Slave)配置
修改 Slave 的配置文件/etc/my.cnf

vi /etc/my.cnf

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

server-id=2
relay-log=mysql-relay

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

在主节点创建一个用户repl,用于从节点链接主节点时使用。

CREATE USER 'repl'@'192.168.16.121' IDENTIFIED WITH mysql_native_password BY 'Repl_master_1';

授权

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.16.121';

刷新授权表信息

flush privileges;

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

mysql> SHOW MASTER STATUS;
image.png

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

mysql>   CHANGE MASTER TO
MASTER_HOST='192.168.16.120'',
MASTER_USER='repl',
MASTER_PASSWORD='Repl_master_1';',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=156;

6、查看主从同步状态

mysql> show slave status\G;

7、开启主从同步

mysql> start slave;

8、再查看主从同步状态

mysql> show slave status\G;
image.png

看到这两个YES代表配置成功!!!!

ps:9. 基于GTID的并行复制实现同步
9.1 修改mysql配置文件,添加如下配置

gtid_mode=on
enforce-gtid-consistency=true

9.2 重启主从的服务

9.3 从库执行如下命令

change master to master_host='192.168.16.120',master_user='repl',master_password='Repl_master_1'
,master_auto_position=1;

针对生产环境存在已存在数据的环境配置主从需要做多做以下操作:
1、先进入主库,进行锁表,防止数据写入

mysql> flush tables with read lock;

注意:该处是锁定为只读状态,语句不区分大小写

2、进行数据备份

把数据备份到mysql.bak.sql文件

mysqldump -uroot -p -h192.168.16.120> mysql.bak.sql

3、把mysql备份文件传到从库机器,进行数据恢复

使用scp命令

[root@server01 mysql]# scp mysql.bak.sql [email protected]:/tmp/

4.、停止从库的状态

mysql> stop slave;

5、然后到从库执行mysql命令,导入数据备份

mysql> source /tmp/mysql.bak.sql

6、设置从库同步,注意该处的同步点,就是主库show master status信息里的| File| Position两项

mysql>  CHANGE MASTER TO
MASTER_HOST='192.168.16.120',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='Repl_master_1',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=156;

7、重新开启从同步
``
mysql> start slave;

8、查看同步状态

mysql> show slave status\G
``
看到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
就配置成功!!!
9、 解除主数据库的锁表状态

mysql> unlock tables;

done

你可能感兴趣的:(Mysql 8.0 主从配置)