在云服务器上手动安装 MySQL 数据库的步骤因操作系统不同而略有差异。以下以 Ubuntu/Debian 和 CentOS/RHEL 为例,介绍如何手动安装 MySQL(以 MySQL Community Server 8.0 为例)。
✅ 一、准备工作
1. 登录云服务器
通过 SSH 登录你的云服务器:
ssh username@your_server_ip
2. 更新系统包
Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y
CentOS/RHEL:
sudo yum update -y
# 或者对于 CentOS 8+/RHEL 8+ 使用 dnf
sudo dnf update -y
✅ 二、安装 MySQL
方法一:使用官方 APT/YUM 源安装(推荐)
🟦 Ubuntu / Debian 安装 MySQL
- 下载并添加 MySQL 官方 APT 源:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
在安装过程中会弹出配置界面,选择
MySQL Server & Cluster→ 版本选mysql-8.0,然后确认 OK。
- 更新软件源:
sudo apt update
- 安装 MySQL 服务:
sudo apt install mysql-server -y
- 启动并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql
🟥 CentOS / RHEL 安装 MySQL
- 添加 MySQL Yum 源:
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
注意:根据你的系统版本调整链接(如 el8 对应 CentOS 8)。
- 查看并启用 MySQL 8.0 源(默认可能禁用):
sudo yum-config-manager --disable mysql57-community
sudo yum-config-manager --enable mysql80-community
或直接编辑 /etc/yum.repos.d/mysql-community.repo 文件。
- 安装 MySQL 服务器:
sudo yum install mysql-community-server -y
- 启动并设置开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
✅ 三、初始化安全设置
MySQL 安装后需要运行安全初始化脚本:
sudo mysql_secure_installation
该脚本会引导你完成以下操作:
- 设置 root 用户密码
- 移除匿名用户
- 禁止 root 远程登录(可选)
- 删除测试数据库
- 重新加载权限表
⚠️ 第一次运行时,可能会提示你输入临时密码。查看临时密码(仅适用于 RPM 安装方式):
sudo grep 'temporary password' /var/log/mysqld.log
# CentOS 路径
# 或 Ubuntu: /var/log/mysql/error.log
✅ 四、配置远程访问(可选)
若需从外部连接 MySQL:
- 登录 MySQL:
mysql -u root -p
- 修改 root 用户允许远程连接:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
或只授权特定用户和 IP。
- 修改 MySQL 配置文件,允许绑定到所有 IP:
编辑配置文件:
- 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
- 开放防火墙端口:
sudo ufw allow 3306 # Ubuntu (ufw)
sudo firewall-cmd --permanent --add-port=3306/tcp # CentOS (firewalld)
sudo firewall-cmd --reload
- 云服务商安全组
确保在阿里云、腾讯云、AWS 等平台的安全组中开放 3306 端口(建议限制来源 IP)。
✅ 五、验证安装
mysql --version
登录测试:
mysql -u root -p
执行:
SHOW DATABASES;
✅ 六、常见问题
| 问题 | 解决方法 |
|---|---|
| 无法启动 MySQL | 查看日志:sudo tail /var/log/mysql/error.log 或 /var/log/mysqld.log |
| 连接被拒绝 | 检查 bind-address、防火墙、安全组、用户权限 |
| 忘记 root 密码 | 进入安全模式重置密码 |
✅ 总结
| 步骤 | 操作 |
|---|---|
| 1 | 更新系统 |
| 2 | 添加 MySQL 官方源 |
| 3 | 安装 mysql-server |
| 4 | 启动并启用服务 |
| 5 | 运行 mysql_secure_installation |
| 6 | 配置远程访问(如需) |
| 7 | 开放防火墙与安全组 |
✅ 建议:生产环境不要使用 root 远程登录,应创建专用用户并限制权限和 IP。
如需自动化部署,也可以考虑使用 Docker 安装 MySQL:
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yourpassword mysql:8
如有具体系统版本或报错信息,欢迎提供进一步帮助!
CDNK博客