在云服务器上手动安装 MySQL 数据库的步骤因操作系统不同而略有差异。以下以 Ubuntu/Debian 和 CentOS/RHEL 系统为例,介绍如何手动安装 MySQL。
✅ 一、准备工作
-
登录到云服务器
使用 SSH 登录你的云服务器(如阿里云、腾讯云、AWS、华为云等):ssh root@your_server_ip -
更新系统包
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/RHEL sudo yum update -y # 或者对于 CentOS 8+/RHEL 8+ 使用 dnf sudo dnf update -y
✅ 二、在 Ubuntu/Debian 上安装 MySQL
1. 安装 MySQL 服务器
sudo apt install mysql-server -y
2. 启动并启用 MySQL 服务
sudo systemctl start mysql
sudo systemctl enable mysql
3. 运行安全配置向导(推荐)
sudo mysql_secure_installation
该命令会引导你设置:
- 设置 root 密码
- 删除匿名用户
- 禁止 root 远程登录
- 删除测试数据库
- 重新加载权限表
注意:MySQL 8.0 默认使用
caching_sha2_password插件,某些旧客户端可能不兼容。如需兼容,可改为mysql_native_password。
✅ 三、在 CentOS/RHEL 上安装 MySQL
1. 添加 MySQL Yum 仓库(以 MySQL 8.0 为例)
前往 MySQL 官方下载页面 获取最新 RPM 包地址:
# 下载并安装 MySQL Yum Repository(示例为 CentOS 7)
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-5.noarch.rpm
2. 安装 MySQL 服务器
sudo yum install mysql-server -y
# 或使用 dnf(适用于较新版本)
sudo dnf install mysql-server -y
3. 启动并启用服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
4. 查看临时 root 密码(仅首次启动)
MySQL 第一次启动时会生成一个临时 root 密码:
sudo grep 'temporary password' /var/log/mysqld.log
输出类似:
A temporary password is generated for root@localhost: abc123XYZ!
5. 运行安全配置
sudo mysql_secure_installation
输入临时密码后,按提示设置新密码并完成安全配置。
✅ 四、基本配置(通用)
1. 登录 MySQL
sudo mysql -u root -p
2. 修改 root 用户允许远程连接(可选)
如果需要从外部访问数据库(注意安全风险):
-- 登录 MySQL 后执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的强密码';
CREATE USER 'root'@'%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
⚠️ 注意:开放 root 远程访问有安全风险,建议创建专用用户并限制 IP。
3. 修改绑定地址(允许远程连接)
编辑 MySQL 配置文件:
- Ubuntu:
/etc/mysql/mysql.conf.d/mysqld.cnf - CentOS:
/etc/my.cnf或/etc/my.cnf.d/mysql-server.cnf
找到 bind-address,修改为:
bind-address = 0.0.0.0
或注释掉该行(默认监听所有接口)。
重启 MySQL:
sudo systemctl restart mysql # Ubuntu
sudo systemctl restart mysqld # CentOS
✅ 五、防火墙设置
Ubuntu(UFW)
sudo ufw allow 3306/tcp
CentOS(firewalld)
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
🔐 建议限制来源 IP,例如只允许特定 IP 访问 3306 端口。
✅ 六、测试连接
本地测试:
mysql -u root -p
远程测试(使用客户端工具如 Navicat、MySQL Workbench 或命令行):
mysql -h your_server_ip -u root -p
✅ 七、常见问题
| 问题 | 解决方法 |
|---|---|
| 无法远程连接 | 检查 bind-address、防火墙、安全组(云平台控制台)、用户权限 |
| 忘记 root 密码 | 进入安全模式重置密码 |
| 服务无法启动 | 查看日志 journalctl -u mysql 或 tail /var/log/mysqld.log |
✅ 补充:云平台安全组配置
确保在云服务商控制台(如阿里云、腾讯云)中:
- 开放 3306 端口
- 设置源 IP 限制(如仅允许公司 IP)
✅ 总结:
通过以上步骤,你可以在云服务器上成功手动安装并配置 MySQL 数据库。建议生产环境使用更强的安全策略,如 SSL 加密、专用数据库用户、定期备份等。
如需自动化部署,可考虑使用 Docker 或 Ansible 脚本。
如有具体操作系统或 MySQL 版本需求,欢迎进一步提问!
云计算