详情页标题前

阿里云ECS云服务器部署MySQL数据库(Linux)-云淘科技

详情页1

MySQL是一个关系型数据库管理系统,常用于LAMP和LNMP等网站场景中。本教程介绍如何在Linux系统ECS实例上安装、配置以及远程访问MySQL数据库。

背景信息

本教程中的MySQL版本仅为示例,您在实际操作时,MySQL的版本可能因软件源的更新而有所不同。关于MySQL相关安装路径说明如下:

  • 配置文件:/etc/my.cnf

  • 数据存储:/var/lib/mysql

  • 命令文件:/usr/bin和/usr/sbin

准备工作

快速部署时选择已有实例或手动部署MySQL时,已有ECS实例必须满足以下条件:

  • 实例已分配公网IP地址或绑定弹性公网IP(EIP)。

  • 操作系统:CentOS 7.x、CentOS 8.x、Alibaba Cloud Linux 2、Alibaba Cloud Linux 3。

  • 实例安全组的入方向规则已放行22、80、443、3306端口。具体操作,请参见添加安全组规则。

Alibaba Cloud Linux 2/3、CentOS 7.x

步骤一:安装MySQL

  1. 远程连接ECS实例。

    具体操作,请参见使用VNC连接实例。

  2. 运行以下命令,更新YUM源。

    sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
  3. (可选)当操作系统为Alibaba Cloud Linux 3时,请执行如下命令,安装MySQl所需库文件。

    sudo rpm -Uvh https://mirrors.aliyun.com/alinux/3/updates/x86_64/Packages/compat-openssl10-1.0.2o-4.0.1.al8.x86_64.rpm

  4. 运行以下命令,安装MySQL。

    sudo yum -y install mysql-community-server --enablerepo=mysql80-community --nogpgcheck
  5. 运行以下命令,查看MySQL版本号。

    mysql -V

    返回结果如下,表示MySQL安装成功。

    mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

步骤二:配置MySQL

  1. 运行以下命令,启动并设置开机自启动MySQL服务。

    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  2. 运行以下命令,获取并记录root用户的初始密码。

    sudo grep 'temporary password' /var/log/mysqld.log

    执行​命令结果示例如下。

    2022-02-14T09:27:18.470008Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: r_V&f2wyu_vI

    说明

    示例末尾的r_V&f2wyu_vI为初始密码,后续在对MySQL进行安全性配置时,需要使用该初始密码。

  3. 运行以下命令,对MySQL进行安全性配置。

    sudo mysql_secure_installation
    1. 根据提示信息,重置MySQL数据库root用户的密码。

      说明

      在输入密码时,系统为了最大限度地保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。

      Enter password for user root: #输入已获取的root用户初始密码
      
      The existing password for the user account root has expired. Please set a new password.
      
      New password: #输入新的MySQL密码
      
      Re-enter new password: #重复输入新的MySQL密码
      The 'validate_password' component is installed on the server.
      The subsequent steps will run with the existing configuration
      of the component.
      Using existing password for root.
      Change the password for root ? ((Press y|Y for Yes, any other key for No) :Y #输入Y选择更新MySQL密码。您也可以输入N不再更新MySQL密码。
      
      New password: #输入新的MySQL密码
      
      Re-enter new password: #重复输入新的MySQL密码
      
      Estimated strength of the password: 100
      Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #输入Y确认使用已设置的密码。
    2. 根据提示信息,删除匿名用户。

      By default, a MySQL installation has an anonymous user,
      allowing anyone to log into MySQL without having to have
      a user account created for them. This is intended only for
      testing, and to make the installation go a bit smoother.
      You should remove them before moving into a production
      environment.
      
      Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y #输入Y删除MySQL默认的匿名用户。
      Success.
    3. 禁止root账号远程登录。

      Normally, root should only be allowed to connect from
      'localhost'. This ensures that someone cannot guess at
      the root password from the network.
      
      Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y #输入Y禁止root远程登录。
      Success.
    4. 删除test库以及对test库的访问权限。

      By default, MySQL comes with a database named 'test' that
      anyone can access. This is also intended only for testing,
      and should be removed before moving into a production
      environment.
      
      
      Remove test database and access to it? (Press y|Y for Yes, any other key for No) :Y #输入Y删除test库以及对test库的访问权限。
       - Dropping test database...
      Success.
      
       - Removing privileges on test database...
      Success.
    5. 重新加载授权表。

      Reloading the privilege tables will ensure that all changes
      made so far will take effect immediately.
      
      Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y #输入Y重新加载授权表。
      Success.
      
      All done!

    安全性配置的更多信息,请参见MySQL官方文档。

步骤三:远程访问MySQL数据库

建议您使用非root账号远程登录MySQL数据库。下文示例中,将创建新的MySQL用户账户,用于远程访问MySQL。

  1. 远程连接ECS实例。

    关于连接方式的介绍,请参见连接方式概述。

  2. 运行以下命令后,输入root用户的密码登录MySQL。

    sudo mysql -uroot -p
  3. 依次运行以下命令,创建远程登录MySQL的账号,并允许远程主机使用该账号访问MySQL。

    本示例账号为dmsTest、密码为Ecs@123****

    重要

    实际创建账号时,需将示例密码Ecs@123****更换为符合要求的密码,并妥善保存。密码要求:长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。可以使用以下特殊符号:

    ()` ~!@#$%^&*-+=|{}[]:;‘,.?/

    #创建数据库用户dmsTest,并授予远程连接权限。
    create user 'dmsTest'@'%' identified by 'Ecs@123****'; 
    #为dmsTest用户授权数据库所有权限。
    grant all privileges on *.* to 'dmsTest'@'%'; 
    #刷新权限。
    flush privileges; 
  4. 执行以下命令,退出数据库。

    exit
  5. 使用dmsTest账号远程登录MySQL。

    • (推荐)您可以通过阿里云提供的数据管理服务DMS(Data Management Service)来远程访问MySQL数据库。具体操作,请参见云数据库录入。

    • 您可以通过MySQL客户端远程登录MySQL进行测试。例如:MySQL Workbench、Navicat。

CentOS 8.x

快速部署

  1. 打开快速配置模板链接进入ROS控制台。

  2. 在页面左侧顶部,选择目标资源所在的地域。阿里云ECS云服务器部署MySQL数据库(Linux)-云淘科技

  3. 配置模板参数页面,输入资源栈名称,选择已有ECS实例或新建ECS实例。

    新建ECS实例时,需要选择可用区、实例规格、系统盘类型,输入实例密码。

    重要

    创建ECS实例会创建一个CentOS 8.x操作系统的按量付费ECS实例和一个按量付费EIP实例,关于ECS和EIP的计费说明,请参见ECS计费概述和EIP计费概述。

  4. MySQL区域,输入MySQL用户名称MySQL密码

  5. 确认填写信息后,单击创建

    资源栈信息页签下的状态创建中变为创建成功时,说明MySQL数据库已部署完成。

  6. 单击输出页签,然后复制DbCommand右侧的值。

    该值为远程登录MySQL的命令。

  7. 远程登录MySQL。

    • (推荐)您可以通过阿里云提供的数据管理服务DMS(Data Management Service)来远程访问MySQL数据库。具体操作,请参见云数据库录入。

    • 您可以通过MySQL客户端远程登录MySQL进行测试。例如:MySQL Workbench、Navicat。

手动部署

步骤一:安装MySQL

  1. 远程连接ECS实例。

    具体操作,请参见使用VNC连接实例。

  2. 切换CentOS 8源地址。

    CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。如果您需要使用CentOS 8系统中的一些安装包,则需要手动切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?。

  3. 运行以下命令,安装MySQL。

    sudo dnf -y install @mysql
  4. 运行以下命令,查看MySQL版本信息。

    mysql -V

    查看版本结果如下图所示。阿里云ECS云服务器部署MySQL数据库(Linux)-云淘科技

步骤二:配置MySQL

  1. 运行以下命令,启动并设置开机自启动MySQL服务。

    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  2. 运行以下命令,对MySQL进行安全性配置。

    sudo mysql_secure_installation
    1. 根据提示信息,重置MySQL数据库root用户的密码。

      Press y|Y for Yes, any other key for No: y  #输入Y并回车开始相关配置。
      
      There are three levels of password validation policy:
      
      LOW Length >= 8
      MEDIUM Length >= 8, numeric, mixed case, and special characters
      STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
      
      Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2   #选择密码验证策略强度,策略0表示低,1表示中,2表示高。建议您选择高强度的密码验证策略。
      Please set the password for root here.
      
      New password:     #设置MySQL的新密码
      
      Re-enter new password:    #重复输入新的MySQL密码
      
      Estimated strength of the password: 100 
      Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y   ##输入Y确认使用已设置的密码。
    2. 根据提示信息,删除匿名用户。

      By default, a MySQL installation has an anonymous user,
      allowing anyone to log into MySQL without having to have
      a user account created for them. This is intended only for
      testing, and to make the installation go a bit smoother.
      You should remove them before moving into a production
      environment.
      
      Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y #输入Y删除MySQL默认的匿名用户。
      Success.
    3. 禁止root账号远程登录。

      Normally, root should only be allowed to connect from
      'localhost'. This ensures that someone cannot guess at
      the root password from the network.
      
      Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y #输入Y禁止root远程登录。
      Success.
    4. 删除test库以及对test库的访问权限。

      By default, MySQL comes with a database named 'test' that
      anyone can access. This is also intended only for testing,
      and should be removed before moving into a production
      environment.
      
      
      Remove test database and access to it? (Press y|Y for Yes, any other key for No) :Y #输入Y删除test库以及对test库的访问权限。
       - Dropping test database...
      Success.
      
       - Removing privileges on test database...
      Success.
    5. 重新加载授权表。

      Reloading the privilege tables will ensure that all changes
      made so far will take effect immediately.
      
      Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y #输入Y重新加载授权表。
      Success.
      
      All done!

    安全性配置的更多信息,请参见MySQL官方文档。

步骤三:远程访问MySQL数据库

建议您使用非root账号远程登录MySQL数据库。下文示例中,将创建新的MySQL用户账户,用于远程访问MySQL。

  1. 远程连接ECS实例。

    关于连接方式的介绍,请参见连接方式概述。

  2. 运行以下命令后,输入root用户的密码登录MySQL。

    sudo mysql -uroot -p
  3. 依次运行以下命令,创建远程登录MySQL的账号,并允许远程主机使用该账号访问MySQL。

    本示例账号为dmsTest、密码为Ecs@123****

    重要

    实际创建账号时,需将示例密码Ecs@123****更换为符合要求的密码,并妥善保存。密码要求:长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。可以使用以下特殊符号:

    ()` ~!@#$%^&*-+=|{}[]:;‘,.?/

    #创建数据库用户dmsTest,并授予远程连接权限。
    create user 'dmsTest'@'%' identified by 'Ecs@123****'; 
    #为dmsTest用户授权数据库所有权限。
    grant all privileges on *.* to 'dmsTest'@'%'; 
    #刷新权限。
    flush privileges; 
  4. 执行以下命令,退出数据库。

    exit
  5. 使用dmsTest账号远程登录MySQL。

    • (推荐)您可以通过阿里云提供的数据管理服务DMS(Data Management Service)来远程访问MySQL数据库。具体操作,请参见云数据库录入。

    • 您可以通过MySQL客户端远程登录MySQL进行测试。例如:MySQL Workbench、Navicat。

腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/151465.html

(0)
上一篇 2023年12月9日 下午4:44
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯 Kona(Tencent Kona)应用场景

    微服务场景 典型的微服务框架,例如 Spring Cloud 、Dubbo 等基于 Java 编程语言,通过使用腾讯 Kona 可以带来应用程序更快的启动速度和性能。进一步了解可参见 腾讯微服务平台 TSF。  无服务器函数场景 腾讯 Kona 提供基于 Java Serverless 的 JDK 解决方案,支撑函数运行环境,为 Java Faas 场景提…

    2023年12月9日
  • 腾讯云容器服务运行 TF 训练任务同尘科技

    本文为您介绍如何运行 TF 训练任务。 前提条件 AI 环境中已安装 TF Operator。AI 环境中有 GPU 资源。 操作步骤 以下操作指南参考 TF-Operator 官方提供的 PS/Worker 模式的 分布式训练案例。 准备训练代码 本示例中使用 Kubeflow 官方提供的示例代码 dist_mnist.py。 制作训练镜像 镜像的制作过程…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云TDSQL-C MySQL版Instant DDL 功能介绍

    适用场景 该功能主要针对在线业务的超大表 DDL 操作实现秒级变更。 功能介绍 通过 instant 算法来避免数据拷贝,进而实现大表快速修改列的功能,不拷贝数据,不占用磁盘空间和磁盘 I/O,业务高峰期可以实现秒级变更。 版本限制 MySQL 5.7 内核小版本2.1.3及以上版本支持此功能。MySQL 8.0 内核小版本3.1.1及以上版本支持此功能。 …

    腾讯云 2023年12月9日
  • 腾讯云TDSQL-C MySQL版欠费说明

    本文为您介绍实例形态为 Serverless 的集群欠费相关说明。注意您的实际资源消耗可能不断变化,因此余额预警可能存在一定的误差。 预警说明 系统会在每个整点对 Serverless 集群资源进行扣费。当您的账户余额小于0时,系统将通过邮件及短信等方式通知到腾讯云账户的创建者以及全局资源协作者、财务协作者(实际接收方式以用户 消息中心 订阅配置为准)。消息…

    腾讯云 2023年12月9日
  • 腾讯云对象存储触发任务(独立节点)

    功能描述 通过独立任务参数触发批量数据处理任务。 授权说明 授权策略中 action 设置为 ci:CreateInventoryTriggerJob 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 POST /…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。