从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置

第三阶段基础

时  间:2023年6月7日

参加人:全班人员

内  容:

Mysql数据库之主从复制配置

目录

前提环境配置

MySQL 5.7 版本的主从复制配置步骤

主  库

1. 在主库上开启二进制日志记录功能

2. 在主库上创建一个用于从库访问的备份用户

3. 在主库上获取二进制日志文件和位置信息

从  库

1 在从库上开启二进制日志记录功能

2. 在从库上添加主库信息

3、启动从库的复制进程

验  证

备  注


前提环境配置

关闭防火墙

(systemtl stop firewalld、iptables -F、setenforce 0)

主库:网络模式为桥接模式

ip地址为192.168.1.125

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第1张图片

从库:网络模式为桥接模式

ip地址为192.168.1.106

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第2张图片

均安装了mysql数据库

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第3张图片

 

MySQL 5.7 版本的主从复制配置步骤

主  库

1. 在主库上开启二进制日志记录功能

在主库上的 `my.cnf` 配置文件中,将 `log-bin` 参数设置为二进制日志记录的文件名(例如:`log-bin=mysql-bin`),并设置 `server-id` 参数来标识主库的唯一 ID 号。例如:

例:操作:vim /etc/my.cnf

[mysqld]

log-bin=mysql-bin

server-id=1

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第4张图片

操作:重启服务

systemctl restart mysqld

systemctl status mysqld

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第5张图片

2. 在主库上创建一个用于从库访问的备份用户

在主库上创建一个用于从库访问的备份用户,并授予其 `REPLICATION SLAVE` 权限:

CREATE USER 'backup用户'@'%' IDENTIFIED BY 'password密码';

GRANT REPLICATION SLAVE ON *.* TO 'backup用户'@'%';

其中 `backup` 是备份用户的用户名,`password` 是该用户的密码。`'%'` 表示该用户可以从任意远程地址访问主库,具体可以根据实际需求修改。

例:操作

进入mysql:mysql -uroot -pJxx-2023

CREATE USER 'Hy'@'%' IDENTIFIED BY 'Hy-584520';

GRANT REPLICATION SLAVE ON *.* TO 'Hy'@'%';

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第6张图片

3. 在主库上获取二进制日志文件和位置信息

在主库上获取当前正在写入的二进制日志文件名和位置信息:

SHOW MASTER STATUS;

该命令的输出结果包含主库当前正在写入的二进制日志文件名 `File` 和位置 `Position`。将这两个值记录下来,后面将用到。

例:操作:

SHOW MASTER STATUS;

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第7张图片

 

  

1 在从库上开启二进制日志记录功能

在从库上的 `my.cnf` 配置文件中,将 `log-bin` 参数设置为二进制日志记录的文件名(例如:`log-bin=mysql-bin`),并设置 `server-id` 参数来标识主库的唯一 ID 号。例如:

例:操作vim /etc/my.cnf

[mysqld]

log-bin=mysql-bin

server-id=2

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第8张图片

操作:重启服务

systemctl restart mysqld

systemctl status mysqld

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第9张图片

2. 在从库上添加主库信息

在从库上执行以下命令,添加主库的连接信息。其中 `master-host` 是主库的 IP 或主机名,`master-user` 和 `master-password` 是主库步骤 2 中创建的备份用户的用户名和密码,`master-log-file` 和 `master-log-pos` 是主库步骤3中获取的二进制日志文件名和位置信息:

CHANGE MASTER TO

MASTER_HOST='master-host  IP地址',

  MASTER_USER='backup  用户',

  MASTER_PASSWORD='password  密码',

  MASTER_LOG_FILE='master-log-file  日志文件',

  MASTER_LOG_POS=master-log-pos  存放位置;

其中 `master-host`, `master-user`,

`master-password`, `master-log-file`,

`master-log-pos` 分别替换为实际的值。

例:操作:

进入mysql:mysql -uroot -pJxx-2023

CHANGE MASTER TO

MASTER_HOST='192.168.1.125',MASTER_USER='Hy',MASTER_PASSWORD='Hy-584520',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=753;

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第10张图片

3、启动从库的复制进程

在从库上执行以下命令,启动从库的复制进程:

START SLAVE;

此时,从库将开始连接主库,并复制主库上的数据。当主从同步顺利进行时,执行以下命令可查看主从复制状态:

SHOW SLAVE STATUS\G;

在输出结果中,可以查看到是否连接到主库、当前正在复制的二进制日志文件名和位置、复制延迟等信息。

需要注意的是,在进行 MySQL 主从复制的操作时,我们应该保持不断地监控和维护主从库之间的数据同步,及时发现和处理异常情况,从而确保数据库系统的高可用性和稳定性。

例:操作:START SLAVE;

SHOW SLAVE STATUS\G;

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第11张图片

验  证

主库在原有的基础上新建一个数据库Test3,

查看从库的改变

例:操作:主库:

show databases;

create database Test3;

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第12张图片

 

从  库:

show databases;

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置_第13张图片

验证成功!!!

备  注

可能出现的问题及解决:

mysql> start slave;

ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

mysql> reset slave;

Query OK, 0 rows affected (0.10 sec)

mysql> start slave;

Query OK, 0 rows affected (0.10 sec)

你可能感兴趣的:(数据库,mysql)