HCRM博客

如何在CentOS上配置MySQL主从复制?

CentOS MySQL主从配置详细过程

在CentOS上搭建MySQL的主从架构是一种常见的数据库高可用性解决方案,特别适用于需要高数据冗余和读写分离的场景,本文将详细介绍如何在CentOS环境下搭建MySQL的主从复制环境,包括安装、配置、权限设置等步骤,并附带相关FAQs以解答常见问题。

如何在CentOS上配置MySQL主从复制?-图1
(图片来源网络,侵权删除)

一、环境准备

1、虚拟机准备

准备两台CentOS虚拟机,假设IP地址分别为192.168.70.114(主服务器)和192.168.70.115(从服务器)。

2、MySQL版本一致性

确保两台服务器上的MySQL版本一致,以避免因版本差异导致的问题。

3、关闭防火墙

执行systemctl stop firewalld命令关闭防火墙,或配置防火墙开放3306端口。

如何在CentOS上配置MySQL主从复制?-图2
(图片来源网络,侵权删除)

二、MySQL安装与配置

1. MySQL安装

在两台服务器上分别执行以下命令安装MySQL:

wget https://cdn.mysql.com/archives/mysql5.7/mysql5.7.281.el7.x86_64.rpmbundle.tar
tar xvf mysql5.7.281.el7.x86_64.rpmbundle.tar
sudo rpm ivh mysqlcommunitycommon5.7.281.el7.x86_64.rpm
sudo rpm ivh mysqlcommunitylibs5.7.281.el7.x86_64.rpm
sudo rpm ivh mysqlcommunityclient5.7.281.el7.x86_64.rpm
sudo rpm ivh mysqlcommunityserver5.7.281.el7.x86_64.rpm
sudo rpm ivh mysqlcommunitydevel5.7.281.el7.x86_64.rpm
systemctl start mysqld
systemctl enable mysqld

2. MySQL初始配置

在两台服务器上分别执行以下命令进行初始配置:

mysql_secure_installation

按照提示设置Root密码并完成其他配置。

3. 创建同步用户

如何在CentOS上配置MySQL主从复制?-图3
(图片来源网络,侵权删除)

在主服务器上执行以下命令,创建一个用于复制的用户:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

三、主服务器配置

1. 修改配置文件

编辑主服务器的MySQL配置文件/etc/my.cnf,添加以下内容:

[mysqld]
logbin=masterbin
binlogformat=ROW
serverid=1
binlogdodb=wyl

2. 重启MySQL服务

systemctl restart mysqld

3. 查看主服务器状态

登录MySQL并查看主服务器状态:

SHOW MASTER STATUS;

记录下FilePosition信息,稍后在从服务器配置中会用到。

四、从服务器配置

1. 修改配置文件

编辑从服务器的MySQL配置文件/etc/my.cnf,添加以下内容:

[mysqld]
logbin=masterbin
binlogformat=ROW
serverid=2

2. 重启MySQL服务

systemctl restart mysqld

3. 配置主从同步

在从服务器上执行以下命令,连接到主服务器并开始同步:

CHANGE MASTER TO MASTER_HOST='192.168.70.114', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='masterbin.000002', MASTER_LOG_POS=154;
START SLAVE;

4. 查看从服务器状态

SHOW SLAVE STATUS\G;

确保Slave_IO_RunningSlave_SQL_Running都显示为Yes

五、验证主从同步

在主服务器上插入一条测试数据,查看是否能在从服务器上同步:

USE wyl;
INSERT INTO test_table (name) VALUES ('test');

在从服务器上查询:

USE wyl;
SELECT * FROM test_table;

如果能查询到插入的数据,说明主从同步配置成功。

六、FAQs

Q1: 如何更改MySQL的数据存储位置?

A1: 要更改MySQL的数据存储位置,你需要修改配置文件/etc/my.cnf中的datadir参数,然后移动现有的数据目录到新的位置,并调整文件权限,重启MySQL服务使更改生效,如果你想将数据存储位置更改为/newdata,可以在配置文件中添加或修改以下行:

[mysqld]
datadir=/newdata

然后执行以下命令:

mv /var/lib/mysql /newdata/mysql
chown R mysql:mysql /newdata/mysql
systemctl restart mysqld

Q2: 如何升级MySQL到最新版本?

A2: 升级MySQL到最新版本通常涉及以下几个步骤:首先备份现有数据和配置文件,然后下载并安装新版本的MySQL,接着迁移数据到新版本,并应用任何必要的配置更改,重启MySQL服务并验证升级是否成功,具体步骤可能因操作系统和MySQL版本而异,建议参考官方文档或使用自动化脚本来完成升级过程。

分享:
扫描分享到社交APP
上一篇
下一篇