国外VPS部署MySQL 8.0主从多实例实战指南
文章分类:技术文档 /
创建时间:2025-11-02
国外VPS部署MySQL 8.0主从多实例实战指南
在国外VPS上部署MySQL 8.0主从架构多实例,能有效提升数据库性能与可用性。接下来详细说明具体部署步骤。
环境准备
首先需要准备一台国外VPS,建议配置至少2核CPU、4GB内存、50GB硬盘空间,操作系统可选CentOS 7或Ubuntu 18.04。在VPS上安装MySQL 8.0,以CentOS 7为例,安装命令如下:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
主从架构配置
主服务器配置
修改MySQL配置文件`/etc/my.cnf`,添加或调整以下内容:
[mysqld]
server-id = 1 # 唯一标识服务器的ID
log-bin = mysql-bin # 开启二进制日志(记录数据库更改操作)
binlog-do-db = your_database_name # 指定需要同步的数据库名
修改完成后重启MySQL服务:
sudo systemctl restart mysqld
登录MySQL创建主从复制用户并授权:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
执行`SHOW MASTER STATUS`后,需记录输出的`File`(二进制日志文件名)和`Position`(日志位置),后续从服务器配置会用到。
从服务器配置
调整从服务器的`/etc/my.cnf`文件,添加以下配置:
[mysqld]
server-id = 2 # 区别于主服务器的唯一ID
relay-log = mysql-relay-bin # 中继日志(存储主服务器二进制日志的副本)
log-bin = mysql-bin # 开启二进制日志
重启MySQL服务:
sudo systemctl restart mysqld
登录从服务器MySQL配置主从复制:
CHANGE MASTER TO
MASTER_HOST='master_server_ip', # 主服务器IP地址
MASTER_USER='repl_user', # 之前创建的复制用户
MASTER_PASSWORD='your_password', # 用户密码
MASTER_LOG_FILE='your_master_log_file', # 主服务器的File值
MASTER_LOG_POS=your_master_log_pos; # 主服务器的Position值
START SLAVE;
SHOW SLAVE STATUS\G
检查输出结果,确保`Slave_IO_Running`和`Slave_SQL_Running`均为`Yes`,表示主从复制配置成功。
多实例部署
在同一台国外VPS上部署多个MySQL实例,可通过不同端口和独立配置文件实现。创建新配置文件`/etc/my.cnf2`:
[mysqld]
port = 3307 # 区别于默认3306端口
datadir = /var/lib/mysql2 # 独立数据存储目录
socket = /var/lib/mysql2/mysql.sock # 独立套接字文件
server-id = 3 # 唯一实例ID
log-bin = mysql-bin2 # 独立二进制日志
创建数据目录并设置权限:
sudo mkdir /var/lib/mysql2
sudo chown -R mysql:mysql /var/lib/mysql2
初始化新实例:
sudo mysqld --defaults-file=/etc/my.cnf2 --initialize --user=mysql
启动新实例:
sudo mysqld_safe --defaults-file=/etc/my.cnf2 &
性能优化与监控
为保障主从架构和多实例的稳定运行,可进行以下优化:
- 调整`innodb_buffer_pool_size`参数,根据服务器内存合理分配,通常设置为物理内存的70%-80%,用于缓存数据和索引以提升查询速度。
- 定期清理过期的二进制日志和中继日志,避免磁盘空间被过度占用。
- 使用`pt-query-digest`工具分析慢查询日志,定位并优化耗时较长的查询语句。
监控方面,建议用`Prometheus`和`Grafana`搭建监控系统,实时跟踪CPU使用率、内存占用、查询响应时间等关键指标,及时发现并解决性能问题。
完成以上步骤后,即可在国外VPS上成功部署MySQL 8.0主从架构多实例,并通过优化与监控确保数据库高效稳定运行。
工信部备案:苏ICP备2025168537号-1