在Linux实例中安装MySQL数据库

更新时间:2025-03-13 06: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实例。具体操作,请参见使用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
    1. 输入root用户初始密码。

      说明

      输入密码时界面不会显示密码的输入过程,请您确保输入的密码正确。

      image

    2. 提示root密码已过期,您需要设置新的root用户密码,需要输入两次新密码。

      重要

      密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。

      image

    3. 修改root密码后,输入n,拒绝再次修改密码。image

    4. 输入y,移除匿名用户。

      说明

      移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。

      image

    5. 输入y,禁止MySQLroot用户从远程登录。

      说明

      如果有特定需求允许root用户远程访问,可以按Y以外任意键以允许远程 root 登录。

      image

    6. 输入y,移除MySQL自带的test数据库。image

    7. 输入y,重新加载权限表,使之前所有更改生效。image

  1. 远程连接ECS实例。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

  2. 安装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
  3. 查看root用户默认初始密码。

    echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
  4. 运行命令,启动MySQL安全安装向导。

    sudo mysql_secure_installation
    1. 输入root用户初始密码。

      说明

      输入密码时界面不会显示密码的输入过程,请您确保输入的密码正确。

      image

    2. 提示root密码已过期,您需要设置新的root用户密码,需要输入两次新密码。

      重要

      密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。

      image

    3. 修改root密码后,输入n,拒绝再次修改密码。image

    4. 输入y,移除匿名用户。

      说明

      移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。

      image

    5. 输入y,禁止MySQLroot用户从远程登录。

      说明

      如果有特定需求允许root用户远程访问,可以按Y以外任意键以允许远程 root 登录。

      image

    6. 输入y,移除MySQL自带的test数据库。image

    7. 输入y,重新加载权限表,使之前所有更改生效。image

  1. 远程连接ECS实例。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

  2. 安装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
  3. 运行命令,启动MySQL安全安装向导。

    sudo mysql_secure_installation
    1. 输入y,启用VALIDATE PASSWORD组件。image

    2. 输入2,设置密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。image

    3. 您需要设置新的root用户密码,需要输入两次新密码。

      重要

      密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。

      image

    4. 输入y,继续使用提供的密码。image

    5. 输入y,移除匿名用户。

      说明

      移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。

      image

    6. 输入y,禁止MySQLroot用户从远程登录。

      说明

      如果有特定需求允许root用户远程访问,可以按Y以外任意键以允许远程 root 登录。

      image

    7. 输入y,移除MySQL自带的test数据库。image

    8. 输入y,重新加载权限表,使之前所有更改生效。image

  1. 远程连接ECS实例。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

  2. 安装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
  3. 查看root用户默认初始密码。

    echo $(PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log); PASSWORD=${PASSWORD##* }; echo $PASSWORD)
  4. 运行命令,启动MySQL安全安装向导。

    sudo mysql_secure_installation
    1. 输入root用户初始密码。

      说明

      输入密码时界面不会显示密码的输入过程,请您确保输入的密码正确。

      image

    2. 提示root密码已过期,您需要设置新的root用户密码,需要输入两次新密码。

      重要

      密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。

      image

    3. 修改root密码后,输入n,拒绝再次修改密码。image

    4. 输入y,移除匿名用户。

      说明

      移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。

      image

    5. 输入y,禁止MySQLroot用户从远程登录。

      说明

      如果有特定需求允许root用户远程访问,可以按Y以外任意键以允许远程 root 登录。

      image

    6. 输入y,移除MySQL自带的test数据库。image

    7. 输入y,重新加载权限表,使之前所有更改生效。image

  1. 远程连接ECS实例。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

  2. 运行以下命令,更新系统apt仓库,确保您的系统包列表为最新。

    sudo apt-get update
  3. 安装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
    1. (可选)若mysql-apt-config脚本检测到您的操作系统版本不是其正式支持的版本,它将显示一个界面,让您选择最接近您系统版本的支持选项以继续安装。

      说明

      image

    2. 配置页面会列出待安装的全部组件,其中包括MySQL Server 、Client、Tool等一系列组件,确认版本及待安装组件无误,按方向键切换到OK并回车。image

  4. 安装MySQL服务器。

    重要

    在安装过程中,为MySQLroot用户设置密码时,需遵循以下密码策略:密码必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符,且总长度不少于8个字符。输入您的密码按回车键确认,输入两次后完成设置。imageimage

    #更新包列表
    sudo apt update
    #安装 MySQL 服务器
    sudo apt install -y mysql-server
    #启动 MySQL 服务
    sudo systemctl start mysql
    #检查启动状态
    sudo systemctl status mysql
    #在系统启动时自动启动。
    sudo systemctl enable mysql
  5. 运行命令,启动MySQL安全安装向导。

    sudo mysql_secure_installation
    1. 输入root用户密码。image

    2. 输入y,启用VALIDATE PASSWORD组件。image

    3. 输入2,设置密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。image

    4. 输入n,拒绝修改root用户密码。

      说明

      如果您需要更改root用户密码,可以输入y以进行修改。

      image

    5. 输入y,移除匿名用户。

      说明

      移除匿名用户可以防止未经授权的用户在没有提供有效凭证的情况下访问您的 MySQL 服务器。

      image

    6. 输入y,禁止MySQLroot用户从远程登录。

      说明

      如果有特定需求允许root用户远程访问,可以按Y以外任意键以允许远程 root 登录。

      image

    7. 输入y,移除MySQL自带的test数据库。image

    8. 输入y,重新加载权限表,使之前所有更改生效。image

添加远程访问MySQL用户

  1. 远程连接ECS实例。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

  2. 配置安全组时,MySQL 默认使用3306端口。确保实例安全组的入站规则开放3306端口。如果选择了不同的端口,请根据实际情况调整安全组设置。具体步骤请参考添加安全组规则

  3. 执行命令创建用户并设置其可以远程访问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;"
  4. 测试所配置的用户名及密码是否生效。

    #<username>是您新创建用户的用户名,执行后需要输入您的新用户密码
    sudo mysql -u<username> -p

相关文档

部署MySQL常见问题

  • 本页导读 (1)
  • 前提条件
  • 部署MySQL
  • 添加远程访问MySQL用户
  • 相关文档