云服务器MySQL安装全流程指南:从零部署到安全优化
在数字化时代,数据库作为应用系统的核心组件,其部署方式直接影响业务稳定性。本文将详细介绍在主流云平台(阿里云/腾讯云/AWS)上安装MySQL 8.0的全过程,包含环境配置、性能调优和安全加固等进阶技巧。
一、前期准备工作
1.1 云服务器选择建议
- 配置推荐:生产环境建议至少2核4G配置(突发性能实例不适用)
- 系统选择:CentOS 7.9/Ubuntu 20.04 LTS等稳定版本
- 存储规划:数据盘建议单独挂载SSD云盘(不低于100GB)
1.2 安全组配置要点
在控制台配置安全组时,需特别注意:
端口 | 协议 | 授权对象 | 备注 |
---|---|---|---|
3306 | TCP | 特定IP段 | 禁止开放0.0.0.0/0 |
22 | TCP | 管理IP | SSH远程连接 |
二、MySQL安装详细步骤
2.1 通过官方仓库安装(推荐)
# CentOS系统
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
sudo yum --enablerepo=mysql80-community install mysql-community-server
# Ubuntu系统
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb
sudo apt update
sudo apt install mysql-server
2.2 初始化安全配置
执行安全向导脚本:
sudo mysql_secure_installation
建议设置项:
- 密码强度级别设置为2(STRONG)
- 移除匿名用户
- 禁止root远程登录
- 移除测试数据库
三、高级配置与优化
3.1 配置文件优化(/etc/my.cnf)
[mysqld]
# 内存配置(按实际内存的70%分配)
innodb_buffer_pool_size = 4G
innodb_buffer_pool_instances = 4
# 日志配置
slow_query_log = 1
long_query_time = 2
log-bin = mysql-bin
# 连接配置
max_connections = 500
thread_cache_size = 50
3.2 数据目录迁移(可选)
若使用独立数据盘:
- 停止MySQL服务:
systemctl stop mysqld
- 迁移数据文件:
rsync -av /var/lib/mysql /mnt/data/
- 修改配置文件datadir参数
- 恢复SELinux上下文:
restorecon -Rv /mnt/data/mysql
四、安全加固措施
4.1 防火墙配置
# 使用firewalld
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" \
source address="192.168.1.0/24" port protocol="tcp" port="3306" accept'
sudo firewall-cmd --reload
4.2 审计插件安装
企业版审计插件配置:
INSTALL PLUGIN audit_log SONAME 'audit_log.so';
SET GLOBAL audit_log_format=JSON;
SET GLOBAL audit_log_policy=ALL;
五、维护与监控建议
- 定期执行
mysqlcheck -o --all-databases
优化表 - 配置Prometheus+Granfa监控体系
- 设置自动备份策略(物理备份+逻辑备份)
- 重要更新及时打补丁(关注MySQL安全公告)
通过以上步骤,您已在云服务器上建立了高性能、安全的MySQL数据库环境。建议在正式业务上线前进行压力测试,根据实际负载情况进一步调整参数。