MySQL是一个关系型数据库管理系统,常用于LAMP和LNMP等建站场景中。本教程介绍如何在CentOS 8系统ECS实例上安装、配置以及远程访问MySQL数据库。
前提条件
已创建一台ECS实例。具体操作,请参见使用向导创建实例。
本教程中,创建的ECS实例主要配置说明如下:
- 实例规格:ecs.c6.large。
- 操作系统:公共镜像CentOS 8.2 64位。
- 网络:专有网络VPC,并绑定了固定公网IP。
背景信息
本教程在示例步骤中将部署MySQL 8.0.21版本。您在实际操作时,MySQL的版本可能因软件源的更新而有所不同。关于MySQL相关安装路径说明如下:
- 配置文件:/etc/my.cnf
- 数据存储:/var/lib/mysql
- 命令文件:/usr/bin和/usr/sbin
步骤一:安装MySQL
- 远程连接CentOS 8系统的ECS实例。
- 切换CentOS 8源地址。
CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。如果您需要使用CentOS 8系统中的一些安装包,则需要手动切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?。
- 运行以下命令安装MySQL。
- 安装完成后,运行以下命令查看MySQL版本信息。
查看版本结果如下图所示。

步骤二:配置MySQL
- 运行以下命令启动MySQL,并设置为开机自启动。
systemctl enable --now mysqld
- 运行以下命令查看MySQL是否已启动。
查看返回结果中Active: active (running)
表示已启动。
- 运行以下命令执行MySQL安全性操作并设置密码。
mysql_secure_installation
命令运行后,根据命令行提示执行如下操作。
- 输入Y并回车开始相关配置。
- 选择密码验证策略强度,输入2并回车。
策略0表示低,1表示中,2表示高。建议您选择高强度的密码验证策略。
- 设置MySQL的新密码并确认。
本示例设置密码PASSword123!
。
- 输入Y并回车继续使用提供的密码。
- 输入Y并回车移除匿名用户。
- 输入Y并回车禁止root用户远程连接MySQL。
- 输入Y并回车删除
test
库以及对test
库的访问权限。
- 输入Y并回车重新加载授权表。
步骤三:远程访问MySQL数据库
建议您使用非root账号远程登录MySQL数据库。本示例中,将创建新的MySQL用户账户,用于远程访问MySQL。
- 为ECS实例所属的安全组入方向放行MySQL所需的端口号。
MySQL默认占用的端口号为3306。您需要在ECS实例所使用的安全组入方向添加规则并放行3306端口。具体步骤,请参见
添加安全组规则。
- 在ECS实例上,创建并配置远程访问MySQL的账号。
- 运行以下命令后,输入root用户的密码登录MySQL。
- 在MySQL客户端中,依次运行以下命令,创建用于远程访问MySQL的账号,并允许远程主机使用该账号访问MySQL。
本示例中,账号为
dms
、密码为
PASSword123!
。
create user 'dms'@'%' identified by 'PASSword123!';
grant all privileges on *.* to 'dms'@'%'with grant option;
flush privileges;
说明 实际创建账号时,密码需符合要求。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。可以使用以下特殊符号:
()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
- 使用
dms
账号远程登录MySQL。
- (推荐)您可以通过阿里云提供的数据管理服务DMS(Data Management Service)来远程访问MySQL数据库。详细信息,请参见云数据库录入。
- 您可以通过本地主机的远程连接工具进行测试。例如:MySQL Workbench、Navicat。