在阿里云服务器上正确安装和配置 MySQL 数据库,可以按照以下步骤进行操作。本文以 CentOS 7/8 或 Ubuntu 20.04+ 系统为例。
✅ 一、准备工作
-
登录阿里云ECS实例
- 使用 SSH 登录你的云服务器(如使用 PuTTY 或终端):
ssh root@your_server_ip
- 使用 SSH 登录你的云服务器(如使用 PuTTY 或终端):
-
更新系统包
- CentOS / RHEL:
sudo yum update -y - Ubuntu / Debian:
sudo apt update && sudo apt upgrade -y
- CentOS / RHEL:
-
关闭防火墙或开放 MySQL 端口(可选)
-
默认 MySQL 使用端口
3306。 -
若需远程访问,请确保:
- 阿里云安全组规则已放行
3306端口。 - 本地防火墙也允许该端口。
- 阿里云安全组规则已放行
-
CentOS(firewalld):
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload -
Ubuntu(ufw):
sudo ufw allow 3306/tcp
-
✅ 二、安装 MySQL
方法一:安装 MySQL 官方版本(推荐)
1. 添加 MySQL Yum Repository(适用于 CentOS/RHEL)
# 下载并安装 MySQL 官方 Yum 源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
注意:根据你的系统版本选择合适的源(如 el8 对应 CentOS 8)。
然后安装 MySQL Server:
sudo yum install mysql-server -y
2. 启动并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
3. 查看初始密码(MySQL 8.0+)
首次启动后,MySQL 会生成一个临时 root 密码:
sudo grep 'temporary password' /var/log/mysqld.log
输出示例:
A temporary password is generated for root@localhost: abc123Def!@#
记下这个密码。
方法二:Ubuntu 上安装 MySQL
sudo apt install mysql-server -y
Ubuntu 安装后不会生成临时密码,root 用户默认使用 auth_socket 插件认证,可以直接用 sudo mysql 登录。
✅ 三、初始化安全配置
运行 MySQL 自带的安全脚本:
sudo mysql_secure_installation
该脚本会引导你完成以下操作:
- 输入当前 root 密码(如果是第一次,输入上面查到的临时密码)
- 更改 root 密码
- 移除匿名用户
- 禁止 root 远程登录(建议保留为 no)
- 删除测试数据库
- 重新加载权限表
✅ 建议全部选 Y(是),除了“是否允许 root 远程登录”视需求而定。
✅ 四、登录 MySQL 并配置远程访问(可选)
1. 登录 MySQL
mysql -u root -p
输入你设置的密码。
2. 允许远程连接(如果需要从外部访问)
-- 创建一个可远程访问的用户(例如 user1,密码为 YourPass123)
CREATE USER 'user1'@'%' IDENTIFIED BY 'YourPass123';
-- 授予所有数据库权限(生产环境建议按需授权)
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
⚠️ 注意:
'%'表示允许任意 IP 访问,更安全的做法是限定特定 IP,如'user1'@'1.2.3.4'。
3. 修改 MySQL 绑定地址(默认只监听 localhost)
编辑 MySQL 配置文件:
- CentOS:
/etc/my.cnf - Ubuntu:
/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf
找到 [mysqld] 段中的 bind-address:
bind-address = 0.0.0.0
0.0.0.0表示监听所有网络接口。若只允许本地访问,保持127.0.0.1。
保存后重启 MySQL:
sudo systemctl restart mysqld
# 或 Ubuntu 上可能是:
sudo systemctl restart mysql
✅ 五、阿里云安全组配置
- 登录 阿里云控制台
- 找到你的 ECS 实例 → 安全组 → 配置规则
- 添加入方向规则:
- 协议类型:
自定义 TCP - 端口范围:
3306 - 授权对象:
0.0.0.0/0(仅测试环境)或指定 IP(如123.123.123.123/32)
- 协议类型:
🔐 生产环境务必限制 IP,避免暴露数据库。
✅ 六、测试远程连接
使用本地客户端(如 Navicat、DBeaver 或命令行)测试连接:
mysql -h your_server_ip -u user1 -p
✅ 七、其他建议
-
定期备份数据库
mysqldump -u root -p database_name > backup.sql -
设置强密码策略
- MySQL 8.0 默认启用强密码策略,可调整:
SET GLOBAL validate_password.policy = LOW;
- MySQL 8.0 默认启用强密码策略,可调整:
-
监控日志
- 错误日志路径通常在:
/var/log/mysqld.log
- 错误日志路径通常在:
-
优化配置(可选)
- 根据内存大小调整
innodb_buffer_pool_size等参数。
- 根据内存大小调整
❌ 常见问题排查
| 问题 | 解决方法 |
|---|---|
| 连接被拒绝 | 检查安全组、防火墙、bind-address、用户权限 |
| 密码错误 | 使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass'; 重置 |
| 无法启动 MySQL | 查看日志 journalctl -u mysqld 或 /var/log/mysqld.log |
✅ 总结
通过以上步骤,你可以在阿里云服务器上成功安装并安全配置 MySQL 数据库。关键点包括:
- 正确安装官方 MySQL
- 设置强密码并运行
mysql_secure_installation - 如需远程访问,创建专用用户 + 开放端口 + 修改
bind-address - 配合阿里云安全组实现最小权限访问
如有特殊需求(如主从复制、SSL 加密等),可进一步扩展配置。
如需自动化部署脚本,也可以提供。
CLOUD技术笔记