CentOS MySQL主从配置详细过程
在CentOS上搭建MySQL的主从架构是一种常见的数据库高可用性解决方案,特别适用于需要高数据冗余和读写分离的场景,本文将详细介绍如何在CentOS环境下搭建MySQL的主从复制环境,包括安装、配置、权限设置等步骤,并附带相关FAQs以解答常见问题。
一、环境准备
1、虚拟机准备:
准备两台CentOS虚拟机,假设IP地址分别为192.168.70.114(主服务器)和192.168.70.115(从服务器)。
2、MySQL版本一致性:
确保两台服务器上的MySQL版本一致,以避免因版本差异导致的问题。
3、关闭防火墙:
执行systemctl stop firewalld
命令关闭防火墙,或配置防火墙开放3306端口。
二、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. 创建同步用户
在主服务器上执行以下命令,创建一个用于复制的用户:
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;
记录下File
和Position
信息,稍后在从服务器配置中会用到。
四、从服务器配置
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_Running
和Slave_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版本而异,建议参考官方文档或使用自动化脚本来完成升级过程。