当前位置:首页 > 行业动态 > 正文

如何在centos7上搭建mysql主从服务器

背景介绍

MySQL主从服务器是一种常见的数据库备份和读写分离方案,在这种架构中,一个服务器作为主服务器(Master),负责处理写操作,而其他服务器作为从服务器(Slave),负责处理读操作,主服务器将数据变更记录到二进制日志(Binary Log)中,从服务器通过读取并执行这些日志来保持与主服务器的数据同步,这种方式可以提高系统的可用性和性能,本文将介绍如何在CentOS 7上搭建MySQL主从服务器。

环境准备

1、硬件要求:两台服务器,分别作为主服务器和从服务器,建议使用双核CPU、4GB内存的服务器。

2、软件要求:CentOS 7操作系统,已安装MySQL数据库。

主从配置

1、主服务器配置

(1)修改MySQL配置文件

在主服务器上,打开/etc/my.cnf文件,找到[mysqld]部分,添加以下内容:

server-id=1

log-bin=mysql-bin

binlog-format=mixed

server-id:为每个MySQL实例分配一个唯一的ID,主服务器的ID应为1。

log-bin:启用二进制日志功能。

binlog-format:设置二进制日志格式,这里选择mixed,表示既记录语句级别的日志,也记录事件级别的日志。

(2)重启MySQL服务

执行以下命令重启MySQL服务:

systemctl restart mysqld

2、从服务器配置

(1)停止从服务器上的MySQL服务

执行以下命令停止从服务器上的MySQL服务:

systemctl stop mysqld

(2)修改MySQL配置文件

在从服务器上,打开/etc/my.cnf文件,找到[mysqld]部分,添加以下内容:

server-id=2

relay-log=relay-bin

server-id:与主服务器的ID保持一致。

relay-log:设置中继日志目录。

(3)重启MySQL服务

执行以下命令重启MySQL服务:

systemctl restart mysqld

创建复制用户并授权

1、在主服务器上创建复制用户并授权:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; -创建复制用户并设置密码
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; -授权复制用户复制权限
FLUSH PRIVILEGES; -刷新权限缓存

2、在从服务器上配置主服务器信息:

CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0; -设置主服务器地址、用户名、密码和日志文件位置等信息

启动从服务器复制进程

在从服务器上执行以下命令启动复制进程:

START SLAVE; -启动复制进程,如果已经启动过,可以执行此命令查看状态:SHOW SLAVE STATUSG; 如果需要中断复制进程,可以执行STOP SLAVE;,如果需要重新启动复制进程,可以执行RESET SLAVE ALL;,然后再执行START SLAVE;。
0