阿里云ECS安装MySQL数据库
来源: 阿里云帮助中心 - 云服务器 ECS(ECS)
更新时间: 2025-03-13 14:35:51
概述
如果您需要在运行Linux系统的ECS实例上部署特定版本的MySQL数据库,可以参考本文提供的步骤手动完成MySQL数据库的部署。
前提条件
- 网络配置: 实例已分配固定公网IP地址或绑定弹性公网IP(EIP)。如您不清楚如何开通公网,请参见开通公网。
- 安全组配置: ECS实例的安全组入方向规则已放行22端口。具体操作,请参见添加安全组规则。
部署MySQL
支持的操作系统版本
- Alibaba Cloud Linux 3
- Alibaba Cloud Linux 2
- CentOS 8
- CentOS 7
- Ubuntu/Debian
安装步骤
1. 连接ECS实例
远程连接ECS实例。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
2. 安装MySQL数据库
说明: 如果您需要安装MySQL 8.0版本,请将官方源地址修改为
https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm
# 需要安装compat-openssl10与旧版本OpenSSL库兼容
sudo yum install -y compat-openssl10
# 添加MySQL官方源
sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm
# 安装MySQL服务
sudo dnf install -y mysql-server
# 启动MySQL服务并设置开机启动
sudo systemctl start mysqld
sudo systemctl enable mysqld
3. 查看root用户默认初始密码
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
4. 运行MySQL安全安装向导
sudo mysql_secure_installation
安装向导配置步骤:
-
输入初始密码
- 输入
root用户初始密码 -
说明: 输入密码时界面不会显示密码的输入过程,请您确保输入的密码正确
- 输入
-
设置新密码
- 提示root密码已过期,您需要设置新的
root用户密码,需要输入两次新密码 -
重要: 密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符
- 提示root密码已过期,您需要设置新的
-
拒绝再次修改密码
- 修改
root密码后,输入n,拒绝再次修改密码
- 修改
-
移除匿名用户
- 输入
y,移除匿名用户 -
说明: 移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的MySQL服务器
- 输入
-
禁止root远程登录
- 输入
y,禁止MySQL的root用户从远程登录 -
说明: 如果有特定需求允许
root用户远程访问,可以按Y以外任意键以允许远程root登录
- 输入
-
移除test数据库
- 输入
y,移除MySQL自带的test数据库
- 输入
-
重新加载权限表
- 输入
y,重新加载权限表,使之前所有更改生效
- 输入
添加远程访问MySQL用户
1. 连接ECS实例
远程连接ECS实例。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
2. 配置安全组
配置安全组时,MySQL默认使用3306端口。确保实例安全组的入站规则开放3306端口。如果选择了不同的端口,请根据实际情况调整安全组设置。具体步骤请参考添加安全组规则。
3. 创建远程访问用户
重要说明:
- 请将代码中的
<username>替换为创建MySQL用户时所用的用户名- 请将代码中的
<password>替换为创建MySQL用户时所用的密码。需遵循以下密码策略:密码必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符,且总长度不少于8个字符
# 执行后需要输入root用户密码
sudo mysql -uroot -p \
-e "CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';" \
-e "GRANT ALL PRIVILEGES ON *.* TO '<username>'@'%' WITH GRANT OPTION;" \
-e "FLUSH PRIVILEGES;"
4. 测试用户配置
# <username>是您新创建用户的用户名,执行后需要输入您的新用户密码
sudo mysql -u<username> -p