在云服务器上手动安装和配置 MySQL 数据库的步骤如下。以 Ubuntu/Debian 系统为例(其他 Linux 发行版类似),我们将使用 MySQL Community Server。
✅ 一、准备工作
-
登录到你的云服务器
ssh username@your_server_ip -
更新系统包列表
sudo apt update && sudo apt upgrade -y
✅ 二、安装 MySQL
方法一:通过 APT 安装(推荐)
-
安装 MySQL 服务器
sudo apt install mysql-server -y -
启动并设置开机自启
sudo systemctl start mysql sudo systemctl enable mysql -
检查状态
sudo systemctl status mysql如果显示
active (running),说明已成功运行。
✅ 三、安全初始化配置
运行 MySQL 自带的安全脚本,设置 root 密码、移除匿名用户等:
sudo mysql_secure_installation
根据提示操作:
- 设置 root 用户密码(建议强密码)
- 移除匿名用户
- 禁止 root 远程登录
- 删除测试数据库
- 重新加载权限表
⚠️ 注意:如果提示“VALIDATE PASSWORD COMPONENT”,可选择是否启用密码强度验证。
✅ 四、登录 MySQL 并创建用户(可选)
-
本地登录 MySQL
sudo mysql -u root -p -
创建新用户并授权(推荐做法)
-- 创建用户(例如:myuser,密码为 mypassword) CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!'; -- 授予所有权限(生产环境应按需分配) GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'localhost' WITH GRANT OPTION; -- 刷新权限 FLUSH PRIVILEGES; -
允许远程访问(如需从外部连接)
-- 创建允许远程连接的用户 CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
⚠️ 开放远程访问时务必注意防火墙和云平台安全组设置,并确保使用强密码。
✅ 五、配置 MySQL 允许远程连接(可选)
-
修改 MySQL 配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf或在某些版本中是
/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/my.cnf -
找到
bind-address行,将其改为:bind-address = 0.0.0.0这表示监听所有 IP 地址。生产环境建议绑定具体 IP 或通过X_X控制。
-
保存并重启 MySQL
sudo systemctl restart mysql
✅ 六、配置云服务器安全组/防火墙
确保云服务商(如阿里云、腾讯云、AWS、华为云等)的安全组规则开放了 3306 端口:
- 协议:TCP
- 端口:3306
- 源 IP:建议限制为你的 IP 或内网段,避免
0.0.0.0/0开放全网
同时配置本地防火墙(如 ufw):
sudo ufw allow 3306/tcp
✅ 七、测试远程连接
使用客户端工具(如 Navicat、DBeaver)或命令行测试:
mysql -h your_server_ip -u myuser -p
✅ 八、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 连接被拒绝 | 检查 bind-address、防火墙、安全组 |
| 权限不足 | 使用 GRANT 正确授权并 FLUSH PRIVILEGES |
| 无法启动 MySQL | 查看日志:sudo tail /var/log/mysql/error.log |
✅ 九、后续建议
- 定期备份数据:使用
mysqldump - 启用日志审计(可选)
- 使用
.my.cnf配置文件保存常用登录信息 - 考虑使用 Let’s Encrypt + SSL 加密连接(高级)
✅ 总结
你已经完成了在云服务器上手动安装和配置 MySQL 的全过程:
- 安装 MySQL
- 安全初始化
- 创建用户与权限管理
- 配置远程访问(可选)
- 防火墙与安全组设置
现在你可以开始创建数据库、导入数据或连接应用程序了!
如你使用的是 CentOS/RHEL 系统,请告知,我可以提供对应的 yum/dnf 安装方式。
云计算导航