如果您需要在运行 Linux 系统的 ECS 实例上部署特定版本的 MySQL 数据库,可以参考本文提供的步骤手动完成 MySQL 数据库的部署。
前提条件
部署 MySQL
Alibaba Cloud Linux 3
-
远程连接 ECS 实例。具体操作,请参见 使用 Workbench 工具以 SSH 协议登录 Linux 实例 。
-
安装 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 -
查看 root 用户默认初始密码。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD) -
运行命令,启动 MySQL 安全安装向导。
sudo mysql_secure_installation-
输入
root用户初始密码。说明输入密码时界面不会显示密码的输入过程,请您确保输入的密码正确。
-
提示 root 密码已过期,您需要设置新的
root用户密码,需要输入两次新密码。重要密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为 8 个字符。
-
修改
root密码后,输入 n,拒绝再次修改密码。
-
输入 y,移除匿名用户。
说明移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。
-
输入 y,禁止 MySQL 的
root用户从远程登录。说明如果有特定需求允许
root用户远程访问,可以按Y以外任意键以允许远程 root 登录。
-
输入 y,移除 MySQL 自带的
test数据库。
-
输入 y,重新加载权限表,使之前所有更改生效。
-
Alibaba Cloud Linux 2
-
远程连接 ECS 实例。具体操作,请参见 使用 Workbench 工具以 SSH 协议登录 Linux 实例 。
-
安装 MySQL 数据库。
说明如果您需要安装 MySQL 8.0 版本,请将官方源地址修改为
https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm#添加MySQL官方源 sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm #安装MySQL服务 sudo yum install -y mysql-server #启动MySQL服务并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld -
查看 root 用户默认初始密码。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD) -
运行命令,启动 MySQL 安全安装向导。
sudo mysql_secure_installation-
输入
root用户初始密码。说明输入密码时界面不会显示密码的输入过程,请您确保输入的密码正确。
-
提示 root 密码已过期,您需要设置新的
root用户密码,需要输入两次新密码。重要密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为 8 个字符。
-
修改
root密码后,输入 n,拒绝再次修改密码。
-
输入 y,移除匿名用户。
说明移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。
-
输入 y,禁止 MySQL 的
root用户从远程登录。说明如果有特定需求允许
root用户远程访问,可以按Y以外任意键以允许远程 root 登录。
-
输入 y,移除 MySQL 自带的
test数据库。
-
输入 y,重新加载权限表,使之前所有更改生效。
-
CentOS 8
-
远程连接 ECS 实例。具体操作,请参见 使用 Workbench 工具以 SSH 协议登录 Linux 实例 。
-
安装 MySQL 数据库。
说明如果您需要安装 MySQL 8.0 版本,请将官方源地址修改为
https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm#添加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 -
运行命令,启动 MySQL 安全安装向导。
sudo mysql_secure_installation-
输入 y,启用
VALIDATE PASSWORD组件。
-
输入 2,设置密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为 8 个字符。
-
您需要设置新的
root用户密码,需要输入两次新密码。重要密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为 8 个字符。
-
输入 y,继续使用提供的密码。
-
输入 y,移除匿名用户。
说明移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。
-
输入 y,禁止 MySQL 的
root用户从远程登录。说明如果有特定需求允许
root用户远程访问,可以按Y以外任意键以允许远程 root 登录。
-
输入 y,移除 MySQL 自带的
test数据库。
-
输入 y,重新加载权限表,使之前所有更改生效。
-
CentOS 7
-
远程连接 ECS 实例。具体操作,请参见 使用 Workbench 工具以 SSH 协议登录 Linux 实例 。
-
安装 MySQL 数据库。
说明如果您需要安装 MySQL 8.0 版本,请将官方源地址修改为
https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm#添加MySQL官方源 sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm #安装MySQL服务 sudo yum install -y mysql-server #启动MySQL服务并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld -
查看 root 用户默认初始密码。
echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD) -
运行命令,启动 MySQL 安全安装向导。
sudo mysql_secure_installation-
输入
root用户初始密码。说明输入密码时界面不会显示密码的输入过程,请您确保输入的密码正确。
-
提示 root 密码已过期,您需要设置新的
root用户密码,需要输入两次新密码。重要密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为 8 个字符。
-
修改
root密码后,输入 n,拒绝再次修改密码。
-
输入 y,移除匿名用户。
说明移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。
-
输入 y,禁止 MySQL 的
root用户从远程登录。说明如果有特定需求允许
root用户远程访问,可以按Y以外任意键以允许远程 root 登录。
-
输入 y,移除 MySQL 自带的
test数据库。
-
输入 y,重新加载权限表,使之前所有更改生效。
-
Ubuntu/Debian
-
远程连接 ECS 实例。具体操作,请参见 使用 Workbench 工具以 SSH 协议登录 Linux 实例 。
-
运行以下命令,更新系统 apt 仓库,确保您的系统包列表为最新。
sudo apt-get update -
安装 MySQL APT 存储库。
#下载APT配置包 sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb #使用 dpkg 命令安装下载的 MySQL APT 配置包 sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb-
(可选)若 mysql-apt-config 脚本检测到您的操作系统版本不是其正式支持的版本,它将显示一个界面,让您选择最接近您系统版本的支持选项以继续安装。
说明获取系统别名请参见 Ubuntu/Debian 实例如何获取系统别名? 。
-
配置页面会列出待安装的全部组件,其中包括 MySQL Server 、Client、Tool 等一系列组件,确认版本及待安装组件无误,按方向键切换到
OK并回车。
-
-
安装 MySQL 服务器。
重要在安装过程中,为 MySQL 的
root用户设置密码时,需遵循以下密码策略:密码必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符,且总长度不少于 8 个字符。输入您的密码按回车键确认,输入两次后完成设置。
#更新包列表 sudo apt update #安装 MySQL 服务器 sudo apt install -y mysql-server #启动 MySQL 服务 sudo systemctl start mysql #检查启动状态 sudo systemctl status mysql #在系统启动时自动启动。 sudo systemctl enable mysql -
运行命令,启动 MySQL 安全安装向导。
sudo mysql_secure_installation-
输入
root用户密码。
-
输入 y,启用
VALIDATE PASSWORD组件。
-
输入 2,设置密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为 8 个字符。
-
输入 n,拒绝修改 root 用户密码。
说明如果您需要更改
root用户密码,可以输入y以进行修改。
-
输入 y,移除匿名用户。
说明移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。
-
输入 y,禁止 MySQL 的
root用户从远程登录。说明如果有特定需求允许
root用户远程访问,可以按Y以外任意键以允许远程 root 登录。
-
输入 y,移除 MySQL 自带的
test数据库。
-
输入 y,重新加载权限表,使之前所有更改生效。
-
添加远程访问 MySQL 用户
-
远程连接 ECS 实例。具体操作,请参见 使用 Workbench 工具以 SSH 协议登录 Linux 实例 。
-
配置安全组时,MySQL 默认使用 3306 端口。确保实例安全组的入站规则开放 3306 端口。如果选择了不同的端口,请根据实际情况调整安全组设置。具体步骤请参考 添加安全组规则 。
-
执行命令创建用户并设置其可以远程访问 MySQL 所有数据库。
重要-
请将代码中的
<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;" -
-
测试所配置的用户名及密码是否生效。
#<username>是您新创建用户的用户名,执行后需要输入您的新用户密码 sudo mysql -u<username> -p