Linux美国VPS搭建MySQL及主从复制指南
在Linux美国VPS上搭建MySQL数据库并配置主从复制,是实现数据高可用、读写分离的关键操作。本文以CentOS 7系统为例,从数据库安装到主从复制配置,完整呈现每一步操作细节,帮助技术人员快速掌握核心流程。
MySQL数据库安装:从初始化到密码设置
以CentOS 7系统的Linux美国VPS为例,安装MySQL需先确保系统环境就绪。第一步更新软件包列表,执行命令:
yum update -y
接着安装MySQL官方Yum仓库,通过wget下载仓库文件:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
下载完成后本地安装仓库:
yum localinstall mysql80-community-release-el7-3.noarch.rpm
验证仓库是否启用,运行:
yum repolist enabled | grep "mysql.*-community.*"
确认输出包含MySQL 8.0仓库信息后,正式安装MySQL服务器:
yum install mysql-community-server -y
安装完成启动服务并设置开机自启:
systemctl start mysqld
systemctl enable mysqld
通过`systemctl status mysqld`检查服务运行状态,显示active(running)即安装成功。首次启动后,需从日志中获取临时密码:
grep 'temporary password' /var/log/mysqld.log
使用临时密码登录MySQL:
mysql -u root -p
登录后立即修改初始密码(建议包含大小写字母、数字及特殊符号,长度不小于8位):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';
FLUSH PRIVILEGES;
主从复制搭建:主服务器与从服务器配置
主服务器核心配置
主从复制的关键是开启二进制日志(binlog)并设置唯一标识。编辑MySQL配置文件`/etc/my.cnf`,添加以下内容:
[mysqld]
server-id = 1 # 主服务器唯一ID(建议1-2^32-1之间)
log-bin = mysql-bin # 开启二进制日志,文件前缀为mysql-bin
binlog-do-db = test # 指定需要复制的数据库(替换为实际库名)
保存后重启MySQL服务:
systemctl restart mysqld
登录MySQL创建复制专用用户(权限仅授予REPLICATION SLAVE):
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'Repl@2024';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
执行`SHOW MASTER STATUS;`获取当前二进制日志信息,记录输出的File(如mysql-bin.000001)和Position(如154)值,后续从服务器配置需用到。
从服务器同步设置
从服务器同样需编辑`/etc/my.cnf`,设置唯一ID(与主服务器不同,如2):
[mysqld]
server-id = 2
重启服务后登录MySQL,执行CHANGE MASTER命令关联主服务器:
CHANGE MASTER TO
MASTER_HOST='主服务器IP', # 替换为实际IP
MASTER_USER='repl_user', # 复制用户
MASTER_PASSWORD='Repl@2024', # 复制用户密码
MASTER_LOG_FILE='mysql-bin.000001', # 主服务器记录的File值
MASTER_LOG_POS=154; # 主服务器记录的Position值
启动复制进程并检查状态:
START SLAVE;
SHOW SLAVE STATUS\G
若输出中`Slave_IO_Running`和`Slave_SQL_Running`均为"Yes",则表示主从复制配置成功。
通过以上步骤,可在Linux美国VPS上快速完成MySQL数据库部署与主从复制搭建,为业务数据提供冗余备份与读写分离能力,显著提升系统稳定性。