温馨提示×

centos mysql主从怎么配置

小樊
82
2025-01-02 14:11:24
栏目: 云计算

在CentOS上配置MySQL主从复制(Master-Slave Replication)涉及多个步骤,包括设置主服务器(Master)、从服务器(Slave)以及确保网络和安全配置正确。以下是一个详细的步骤指南:

1. 安装MySQL

首先,确保在主服务器和从服务器上都安装了MySQL。

在主服务器上安装MySQL:

sudo yum install -y mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

在从服务器上安装MySQL:

sudo yum install -y mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

2. 配置主服务器(Master)

2.1 初始化主服务器

登录到MySQL并初始化主服务器:

mysql_secure_installation

按照提示完成安全设置,包括删除匿名用户、禁止远程root登录等。

2.2 获取主服务器的二进制日志坐标

找到主服务器的二进制日志文件名和位置:

SHOW MASTER STATUS;

记下FilePosition的值。

3. 配置从服务器(Slave)

3.1 配置从服务器连接到主服务器

编辑从服务器的MySQL配置文件(通常是/etc/my.cnf/etc/mysql/my.cnf):

[mysqld]
server-id=1
relay-log=relay-bin
log_bin=mysql-bin
read_only=ON

3.2 重启从服务器MySQL服务

sudo systemctl restart mysqld

3.3 设置从服务器

登录到从服务器MySQL并设置从服务器:

CHANGE MASTER TO
    MASTER_HOST='master_ip_address',
    MASTER_USER='replication_user',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='recorded_log_file_name',
    MASTER_LOG_POS=recorded_log_position;

4. 启动从服务器复制进程

START SLAVE;

5. 验证复制状态

检查从服务器的复制状态:

SHOW SLAVE STATUS\G;

确保Slave_IO_RunningSlave_SQL_Running都是YES,并且Last_IO_ErrorLast_SQL_Error是空的。

6. 测试复制

在主服务器上插入一些数据,然后在从服务器上查询这些数据以验证复制是否成功。

在主服务器上插入数据:

INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2');

在从服务器上查询数据:

SELECT * FROM your_table;

如果从服务器上显示了刚刚插入的数据,说明复制配置成功。

7. 安全和网络配置

确保主服务器和从服务器之间的网络是安全的,并且只有必要的端口(通常是3306)是开放的。可以使用防火墙(如firewalld)来管理端口。

总结

通过以上步骤,你可以在CentOS上成功配置MySQL主从复制。确保每一步都仔细检查,以避免配置错误。

0