如何在云服务器上手动安装和配置MySQL数据库?

在云服务器上手动安装和配置 MySQL 数据库是一个常见且重要的任务。以下是详细的步骤指南,适用于主流 Linux 发行版(以 Ubuntu/Debian 和 CentOS/RHEL 为例)。


🛠️ 前提准备

  • 已有一台云服务器(如阿里云、腾讯云、AWS、华为云等)
  • 操作系统:Ubuntu 20.04+/CentOS 7+/Rocky Linux 8+
  • 具备 root 或具有 sudo 权限的用户
  • 网络通畅,可访问软件源

✅ 步骤一:更新系统包管理器

Ubuntu / Debian:

sudo apt update && sudo apt upgrade -y

CentOS / Rocky Linux:

sudo yum update -y
# 或对于使用 dnf 的新版本:
sudo dnf update -y

✅ 步骤二:安装 MySQL

方法 1:使用系统默认仓库安装(推荐初学者)

Ubuntu 安装 MySQL:

sudo apt install mysql-server -y

CentOS / Rocky Linux 安装 MySQL:

注意:CentOS 默认仓库可能包含 MariaDB,若要安装官方 MySQL,建议添加 MySQL 官方仓库。

添加 MySQL 官方 Yum 仓库(以 MySQL 8.0 为例):
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
sudo yum install mysql-server -y

或使用 DNF(适用于 CentOS 8+/Rocky 9+):

sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf install mysql-server -y

✅ 步骤三:启动并设置开机自启

# 启动服务
sudo systemctl start mysqld
# 或在某些系统中是 mysql
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysqld

提示:可通过 systemctl status mysqld 查看运行状态。


✅ 步骤四:安全初始化(强烈建议)

运行 MySQL 自带的安全脚本,设置 root 密码、移除匿名用户等。

sudo mysql_secure_installation

按提示操作:

  • 设置 root 用户密码(选择强密码)
  • 移除匿名用户
  • 禁止 root 远程登录(生产环境建议禁用)
  • 移除 test 数据库
  • 重新加载权限表

⚠️ 如果提示“无法连接到本地 MySQL 服务器”,可能是未运行或 socket 问题,请先确保服务已启动。


✅ 步骤五:登录 MySQL 并验证

sudo mysql -u root -p

输入你设置的密码后进入 MySQL 命令行。

查看当前用户:

SELECT user, host FROM mysql.user;

✅ 步骤六:(可选)创建新用户并授权

避免直接使用 root 远程连接,建议创建专用用户。

-- 创建用户(例如用户名为 myuser,密码为 StrongPass123!)
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPass123!';

-- 授予数据库权限(例如对数据库 mydb 的所有权限)
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

若要允许远程连接,将 'localhost' 改为 '%',但需注意防火墙和绑定地址设置。


✅ 步骤七:配置远程访问(如需)

1. 修改 MySQL 配置文件

编辑 MySQL 主配置文件:

Ubuntu 路径:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

CentOS 路径:

sudo nano /etc/my.cnf
# 或
sudo nano /etc/my.cnf.d/mysql-server.cnf

找到 bind-address 行:

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0

⚠️ 开放 0.0.0.0 存在安全风险,建议配合防火墙限制 IP。

保存并退出。

2. 重启 MySQL

sudo systemctl restart mysqld

3. 防火墙放行 3306 端口

Ubuntu(UFW):

sudo ufw allow 3306/tcp

CentOS(firewalld):

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

4. 云服务器安全组配置

登录云平台控制台(如阿里云 ECS 安全组、腾讯云安全组),添加入站规则

  • 协议类型:TCP
  • 端口范围:3306
  • 源 IP:建议指定特定 IP(如 1.2.3.4/32),避免开放给 0.0.0.0/0

✅ 步骤八:测试远程连接

使用客户端工具(如 Navicat、DBeaver)或命令行从另一台机器连接:

mysql -h <你的云服务器公网IP> -u myuser -p

✅ 常见问题排查

问题 解决方案
连接被拒 检查 MySQL 是否监听 0.0.0.0、防火墙、安全组
密码错误 使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass'; 修改
Socket 错误 尝试 sudo mysql -u root(免密登录本地)再改密码

✅ 附加建议

  • 定期备份:使用 mysqldump 或自动化脚本
  • 监控日志:查看 /var/log/mysql/error.log
  • 启用 SSL:提升安全性(适用于生产环境)
  • 使用 .my.cnf 配置文件存储密码(避免明文输入)

📌 总结

通过以上步骤,你已经成功在云服务器上:

  • 安装了 MySQL
  • 完成了基本安全配置
  • 可选地开启了远程访问

只要遵循最小权限原则和安全组策略,即可安全使用。

如有具体发行版或报错信息,欢迎提供进一步帮助!

未经允许不得转载:CLOUD云枢 » 如何在云服务器上手动安装和配置MySQL数据库?