在阿里云ECS(Elastic Compute Service)上搭建MySQL数据库是一个常见的操作,以下是详细的步骤指南,帮助你在阿里云ECS实例上成功安装和配置MySQL(以MySQL 8.0为例,操作系统为CentOS 7/8或Ubuntu 20.04)。
✅ 一、准备工作
1. 购买并登录ECS实例
- 登录 阿里云控制台
- 创建一台ECS实例(推荐配置:2核4G,系统盘40G以上)
- 选择操作系统(这里以 CentOS 7 为例,也支持Ubuntu)
- 设置安全组:开放3306端口(MySQL默认端口)
安全组配置示例:
- 协议类型:TCP
- 端口范围:3306
- 授权对象:
0.0.0.0/0(测试用,生产建议限制IP)
✅ 二、连接ECS实例
使用SSH连接到你的ECS服务器:
ssh root@你的ECS公网IP
✅ 三、安装MySQL(以CentOS 7为例)
1. 添加MySQL Yum源
# 下载并安装MySQL官方Yum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm
如果提示
wget未安装,先运行:yum install -y wget
2. 安装MySQL Server
sudo yum install -y mysql-server
3. 启动MySQL服务并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
✅ 四、初始化MySQL安全设置
1. 查看临时密码(MySQL 8.0首次启动会生成临时密码)
grep 'temporary password' /var/log/mysqld.log
输出示例:
A temporary password is generated for root@localhost: abc123!@#XYZ
记住这个密码,下一步要用。
2. 运行安全初始化脚本
sudo mysql_secure_installation
根据提示操作:
- 输入临时密码
- 设置新的root密码(需复杂:大小写+数字+特殊字符)
- 删除匿名用户?
Y - 禁止root远程登录?
N(如需远程访问) - 删除test数据库?
Y - 重新加载权限?
Y
✅ 五、配置远程访问(可选)
1. 登录MySQL
mysql -u root -p
输入你设置的密码。
2. 授权远程访问
-- 允许root用户从任意IP远程登录(生产环境不推荐)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
-- 或者创建一个专用用户
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
FLUSH PRIVILEGES;
注意:
%表示允许任意IP,也可指定如'admin'@'1.2.3.4'
3. 修改MySQL配置文件(允许绑定公网)
编辑配置文件:
sudo vi /etc/my.cnf
找到 [mysqld] 段,注释或修改:
# bind-address = 127.0.0.1 # 注释掉这行,允许外部连接
保存并重启MySQL:
sudo systemctl restart mysqld
✅ 六、防火墙设置(如开启防火墙)
# CentOS 使用 firewalld
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
Ubuntu 使用
ufw:sudo ufw allow 3306
✅ 七、测试远程连接
使用本地数据库客户端(如 Navicat、DBeaver、MySQL Workbench)连接:
- 主机:你的ECS公网IP
- 端口:3306
- 用户名:root 或 admin
- 密码:你设置的密码
✅ 如果连接成功,说明搭建完成!
✅ 八、安全建议(生产环境必看)
- 不要使用root远程登录,创建专用用户
- 限制访问IP,如只允许公司IP访问3306
- 定期备份数据
- 开启阿里云RDS更安全(如对数据安全性要求高,建议使用阿里云RDS而非自建MySQL)
- 定期更新系统和MySQL
🚀 附:Ubuntu 20.04 安装MySQL简要步骤
sudo apt update
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo systemctl start mysql
sudo systemctl enable mysql
后续步骤与CentOS类似。
如有具体问题(如连接失败、报错等),欢迎提供错误信息,我可以进一步帮你排查。
祝你搭建顺利!🎉
云计算导航