香港VPS部署MySQL 8.0:安装、远程访问配置与性能调优实操
为什么 MySQL 配置比安装更重要?
MySQL 装好后直接用,是很多人的习惯。但默认配置存在两个严重问题:安全隐患(root 账户弱密码、匿名账户)和性能问题(默认参数为通用场景设计,不适合 VPS 低内存环境)。本文覆盖从安装到调优的完整流程。
一、安装 MySQL 8.0
sudo apt update
sudo apt install mysql-server -y
# 验证安装并查看版本
mysql --version
# 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql二、安全初始化
sudo mysql_secure_installation按提示依次操作:
- 设置 root 密码(选择强密码)
- 删除匿名用户:Y
- 禁止 root 远程登录:Y(root 只允许本地登录)
- 删除 test 数据库:Y
- 重新加载权限表:Y
三、创建业务数据库和专用用户
sudo mysql -u root -p-- 创建数据库
CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建专用用户(只能访问指定数据库)
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';
-- 如需允许从指定远程 IP 访问(替换为实际 IP)
CREATE USER 'myapp_user'@'1.2.3.4' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'1.2.3.4';
FLUSH PRIVILEGES;
EXIT;四、配置远程访问(可选)
默认 MySQL 只监听 127.0.0.1,如需允许远程连接:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf找到 bind-address,修改为:
# 监听所有接口(配合防火墙限制来源 IP)
bind-address = 0.0.0.0在防火墙中只放行特定 IP 的 3306 端口(切勿对所有 IP 开放):
sudo ufw allow from 你的IP地址 to any port 3306
sudo systemctl restart mysql五、针对低内存 VPS 的性能调优
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf根据内存大小调整以下参数:
# ===== 1G 内存 VPS 参考配置 =====
innodb_buffer_pool_size = 256M # 通常设为可用内存的 50%–70%
innodb_log_file_size = 64M
innodb_flush_log_at_trx_commit = 2 # 性能优先(非金融级业务可用)
innodb_flush_method = O_DIRECT
max_connections = 50 # 低内存环境降低连接数
thread_cache_size = 8
table_open_cache = 200
query_cache_type = 0 # MySQL 8.0 已移除查询缓存
# ===== 2G 内存 VPS 参考配置 =====
# innodb_buffer_pool_size = 512M
# max_connections = 100
# 开启慢查询日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1sudo systemctl restart mysql六、常用管理命令
# 查看当前连接数
mysql -u root -p -e "SHOW STATUS LIKE 'Threads_connected';"
# 查看正在执行的查询
mysql -u root -p -e "SHOW PROCESSLIST;"
# 查看 InnoDB 状态
mysql -u root -p -e "SHOW ENGINE INNODB STATUS\G"
# 分析慢查询日志
sudo mysqldumpslow -s t -t 10 /var/log/mysql/slow.log总结
VPS 上部署 MySQL 的关键步骤:安装 → 安全初始化 → 创建业务专用用户(不用 root)→ 根据内存调整性能参数 → 开启慢查询日志。这套流程完成后,MySQL 既安全又针对低内存环境做了优化,可以稳定支撑中小型 Web 应用。
IDC.Net 香港云服务器和香港独立服务器均提供 SSD 硬盘保障 MySQL I/O 性能,CN2 GIA 直连大陆,支付宝付款即可开通。
版权声明:
作者:后浪云
链接:https://idc.net/help/442558/
文章版权归作者所有,未经允许请勿转载。
THE END
