在云服务器上安装 MySQL 数据库,通常需要根据操作系统选择不同命令。以下是主流 Linux 发行版(以 Ubuntu/Debian 和 CentOS/RHEL 为例)的完整步骤,包含安全初始化建议:
✅ 一、Ubuntu / Debian 系统
1. 更新软件包索引
sudo apt update
2. 安装 MySQL Server
sudo apt install mysql-server -y
💡 若需特定版本(如 8.0),可指定:
sudo apt install mysql-server-8.0
3. 安全初始化(推荐执行)
MySQL 安装后运行安全脚本:
sudo mysql_secure_installation
按提示设置:
- 设置 root 密码(或跳过,若已用
root@localhost+ socket 认证) - 删除匿名用户
- 禁止 root 远程登录
- 移除测试数据库
- 重新加载权限表
4. 验证安装
mysql --version
sudo systemctl status mysql # 或 mysqld
5. 远程访问配置(可选)
编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到并修改:
[mysqld]
bind-address = 0.0.0.0 # 允许所有 IP;生产环境建议绑定具体内网 IP
重启服务:
sudo systemctl restart mysql
⚠️ 注意:还需在云服务商控制台开放 3306 端口(安全组规则),否则外部无法连接。
✅ 二、CentOS / RHEL / Rocky Linux / AlmaLinux
1. 安装 EPEL 源(部分版本需要)
sudo dnf install epel-release -y # CentOS 8+ / Rocky / Alma
# 或
sudo yum install epel-release -y # CentOS 7
2. 安装 MySQL
sudo dnf install mysql-server -y # 或 yum install
3. 启动并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
4. 获取临时 root 密码
首次安装后,密码记录在日志中:
sudo grep 'temporary password' /var/log/mysqld.log
5. 安全初始化
sudo mysql_secure_installation
按向导操作(同上)。
6. 远程访问配置
编辑 /etc/my.cnf:
[mysqld]
bind-address = 0.0.0.0
重启:
sudo systemctl restart mysqld
同样需在云平台安全组开放 3306 端口。
🔐 三、创建应用用户(推荐做法)
避免直接用 root 连接应用:
sudo mysql -u root -p
CREATE USER 'appuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mydb.* TO 'appuser'@'%';
FLUSH PRIVILEGES;
EXIT;
✅
'appuser'@'%'表示允许从任意主机连接;生产环境建议改为具体 IP 或内网段,如'appuser'@'192.168.1.%'
🌐 四、连接测试
从本地客户端测试(需确保防火墙 & 安全组放行):
mysql -h <服务器公网IP> -P 3306 -u appuser -p
📝 补充建议
| 项目 | 建议 |
|---|---|
| 备份 | 使用 mysqldump 定期备份:mysqldump -u root -p --all-databases > backup.sql |
| 监控 | 安装 mariadb-tools 或使用云厂商监控(如阿里云云监控、AWS CloudWatch) |
| 高可用 | 生产环境建议考虑主从复制、MHA 或云托管 MySQL(如 RDS/Aurora) |
| 替代方案 | 若仅需轻量级,可考虑 MariaDB(完全兼容 MySQL,性能更优) |
需要我提供 Docker 部署方式、Windows Server 安装步骤,或结合具体云厂商(如阿里云 ECS、腾讯云 CVM、AWS EC2)的安全组配置示例吗?
云知识