背景介绍
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)