如何在 RHEL 8 上设置 MySQL 主从复制
MySQL复制是一个过程,其中数据从一台服务器自动复制或实时复制到另一台备份服务器上。复制提供冗余和容错功能,即使主服务器出现故障,数据仍然可以恢复,让用户高枕无忧。
在本教程中,您将学习如何在 RHEL 8 Linux 上配置和设置 MySQL 主从复制。
先决条件
在设置中,我们将有两台运行 RHEL 8 的服务器,其 IP 地址如下。
Master = 173.82.120.14
Slave = 173.82.115.165
现在让我们继续看看如何在 RHEL 8 Linux 上配置 MySQL 主从复制设置。
第一步:在主从服务器上安装MySQL
1.最新版本的MySQL 8.x已经包含在RHEL 8的默认存储库中,您可以使用以下命令安装它百胜命令。
yum -y install @mysql
第 2 步:在主服务器和从服务器上保护 MySQL
安装完成后,您现在应该启动刚刚安装的 MySQL 服务,并使其在每次启动服务器时自动启动。因此,请使用以下命令。
systemctl enable mysqld
systemctl start mysqld
接下来,您需要通过运行安全脚本来保护您的 MySQL 安装,该脚本附带多个基于安全的操作,例如设置 root 密码、删除匿名用户、禁止 root 远程登录、删除测试数据库和重新加载权限。
mysql_secure_installation
继续执行其余的提示并对所有问题回答是
,以便将服务器设置为最佳安全实践。
步骤3:配置MySQL主服务器
要开始进行主服务器配置,请继续输入以下命令并打开 MySQL 配置文件。
sudo vim /etc/my.cnf
在 mysqld
部分中,附加如下所示的行。
bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin
最后,重新启动MySQL服务。
sudo systemctl restart mysqld
现在我们要创建一个复制用户。因此,请以 root 用户身份登录 MySQL 主服务器并提供密码。
sudo mysql -u root -p
现在运行以下命令来创建副本用户,同时向该用户授予从属访问权限。请记住使用您机器的 IP 地址。
mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';
现在,您将输入以下命令来打印二进制文件名和位置。
mysql> SHOW MASTER STATUS\G
请记住记下生成的文件名 msql-bin.000002
及其位置 939
。
第四步:配置MySQL从服务器
就像设置master的过程一样,您应该对mysql从配置文件进行以下更改。
sudo vim /etc/my.cnf
在配置文件的 mysqld
部分下添加以下行。
bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin
重新启动服务器。
sudo systemctl restart mysqld
现在,下一步是将从服务器配置为从主服务器进行复制。登录MySQL服务器。
sudo mysql -u root -p
首先,停止复制线程。
mysql> STOP SLAVE;
现在,运行以下查询,将配置从属服务器以从主服务器进行复制。
mysql> CHANGE MASTER TO
-> MASTER_HOST='173.82.120.14' ,
-> MASTER_USER='replica' ,
-> MASTER_PASSWORD='Jupiter@2030' ,
-> MASTER_LOG_FILE='mysql-bin.000002' ,
-> MASTER_LOG_POS=939;
确保您使用正确的 IP 用户名和密码。另外,使用从主服务器获取的文件名和位置。
最后,键入以下命令来启动从属线程。
mysql> START SLAVE;
第5步:测试MySQL主从复制
至此,主从服务器的配置就完成了。我们现在需要验证配置是否有效以及复制是否可以进行。
为此,请前往主服务器并登录到 MySQL 数据库服务器。
sudo mysql -u root -p
创建示例数据库。
mysql> CREATE DATABASE replication_database;
现在前往从属服务器并再次登录MySQL数据库服务器。
sudo mysql -u root -p
现在使用以下命令列出所有数据库。
mysql> SHOW DATABASES;
如果您看到创建的数据库,则说明 MySQL 主从复制 设置有效。
结论
复制是一个相当简单的过程,可以轻松完成。在本指南中,您了解了如何在 RHEL 8 Linux 中创建 MySQL 主服务器到从服务器的复制。