手动部署ECS线上数据库及使用

news2024/9/22 19:45:37

文章参考自手动部署MySQL数据库(CentOS 7) (aliyun.com)

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

前提条件

已创建一台ECS实例。具体操作,请参见使用向导创建实例。

本教程中,创建的ECS实例主要配置说明如下:

  • 实例规格:ecs.c6.large。

  • 镜像:公共镜像CentOS 7.8 64位。

  • 网络:专有网络VPC,并绑定了固定公网IP。

背景信息

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

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

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

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

步骤一:安装MySQL

  1. 远程连接ECS实例。

具体操作,请参见连接方式概述。

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

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  1. 运行以下命令安装MySQL。

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

mysql -V

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

步骤二:配置MySQL

  1. 运行以下命令启动MySQL服务。

systemctl start mysqld
  1. 运行以下命令设置MySQL服务开机自启动。

systemctl enable mysqld
  1. 运行以下命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。

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进行安全性配置时,需要使用该初始密码。

  1. 运行下列命令对MySQL进行安全性配置。

mysql_secure_installation
  1. 重置root用户的密码。

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

Enter password for user root:#输入已获取的root用户初始密码Theexistingpasswordfortheuseraccountroothasexpired.Pleasesetanewpassword.New password:#输入新的MySQL密码Re-enter new password:#重复输入新的MySQL密码The'validate_password'componentisinstalledontheserver.Thesubsequentstepswillrunwiththeexistingconfigurationofthecomponent.Usingexistingpasswordforroot.Changethepasswordforroot?((Pressy|YforYes,anyotherkeyforNo):Y#输入Y选择更新MySQL密码。您也可以输入N不再更新MySQL密码。New password:#输入新的MySQL密码Re-enter new password:#重复输入新的MySQL密码Estimated strength of the password:100Doyouwishtocontinuewiththepasswordprovided?(Pressy|YforYes,anyotherkeyforNo):Y#输入Y确认使用已设置的密码。
  1. 删除匿名用户。

Bydefault, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL withouthavingto have
a user account created for them. This is intended onlyfor
testing, andto 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 forNo) :Y #输入Y删除MySQL默认的匿名用户。
Success.
  1. 禁止root账号远程登录。

Normally, root should only be allowed toconnectfrom'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 forNo) :Y #输入Y禁止root远程登录。
Success.
  1. 删除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.
  1. 重新加载授权表。

Reloadingtheprivilegetableswillensurethatallchangesmadesofarwilltakeeffectimmediately.Reloadprivilegetablesnow?(Pressy|YforYes,anyotherkeyforNo):Y#输入Y重新加载授权表。Success.Alldone!

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

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

您可以使用数据库客户端或阿里云提供的数据管理服务DMS(Data Management Service)来远程访问MySQL数据库。本节以DMS为例,介绍远程访问MySQL数据库的操作步骤。

  1. 为ECS实例所属的安全组入方向放行MySQL所需的端口号。

MySQL默认占用的端口号为3306。您需要在ECS实例所使用的安全组入方向添加规则并放行3306端口。具体步骤,请参见添加安全组规则。

  1. 在ECS实例上,创建远程登录MySQL的账号。

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

 mysql -uroot -p
  1. 依次运行以下命令创建远程登录MySQL的账号。

建议您使用非root账号远程登录MySQL数据库,本示例账号为dms、密码为123456

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

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

mysql> create user 'dmsTest'@'%' identified by'123456'; #创建数据库用户dmsTest,并授予远程连接权限。
mysql> grant all privileges on *.* to 'dmsTest'@'%'; #为dmsTest用户授权数据库所有权限。
mysql> flush privileges; #刷新权限。
  1. 登录数据管理控制台。

  1. 数据资产页签的顶部菜单栏,单击实例管理

  1. 实例管理页签,单击+新增

  1. 新增实例对话框,完成以下配置。

  1. 单击ECS自建数据库,然后单击MySQL

  1. 基本信息区域,完成远程连接数据库的配置项。

具体说明如下:

  • 数据来源:ECS自建数据库。

  • 数据库类型:MySQL。

  • 实例地区ECS实例ID:根据您实际的ECS实例信息进行配置。关于获取ECS实例信息的具体操作,请参见在实例列表页面查看实例信息。

  • 端口:3306。

  • 数据库账号:已设置的远程连接用户信息。本文示例用户为dmsTest

  • 数据库密码:已设置的远程连接用户密码。

其他配置项保持默认值即可。

  1. 单击测试连接

如果出现成功的对话框,表示测试连接成功。

  1. 单击提交

  1. 提交后,根据页面提示跳转至MySQL数据库管理页面。

您可以使用DMS提供的菜单栏功能,进行数据库管理操作。关于DMS服务的更多操作介绍,请参见DMS入门教程概览。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/341568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[ 常用工具篇 ] CobaltStrike(CS神器)基础(一) -- 安装及设置监听器详解

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

YOLO-V5轻松上手

之前介绍了YOLO-V1~V4版本各做了哪些事以及相较于之前版本的改进。有的人或许会想“直接学习最近版本的算法不好吗”&#xff0c;在我看来&#xff0c;每一个年代的版本/算法都凝聚着当年学术界的智慧&#xff0c;即便是它被淘汰了也依旧有值得思考的地方&#xff0c;或是可以使…

工业无线物联网解决方案中的缺陷可让攻击者深入访问OT网络

运营技术 (OT) 团队通常通过无线和蜂窝解决方案将工业控制系统 (ICS) 连接到远程控制和监控中心&#xff0c;这些解决方案有时带有供应商运行的基于云的管理界面。 这些连接解决方案&#xff0c;也称为工业无线物联网设备&#xff0c;增加了 OT 网络的攻击面&#xff0c;并且可…

CentOS8基础篇6:文件属性的读取和修改

一、文件属性 每一行代表对应文件或目录的详细信息。从左到右具体的含义是文件属性、文件数、拥有者、所属的组、文件大小、建立月份、建立日期、建立年份或时间、以及文件名。其中“建立年份或时间”字段&#xff0c;如果文件是今年建立的&#xff0c;则显示具体时间&#xf…

文献阅读笔记 # GraphCodeBERT: Pre-training Code Representations with Data Flow

《GraphCodeBERT: Pre-training Code Representations with Data Flow》ICLR 2021 (TH-CPL A会&#xff0c;公认顶会&#xff0c;但未上 CCF 榜)作者部分与 CodeBERT 重叠&#xff0c;主要来自 MSRA Intern 和 MSRA 研究员&#xff0c;学生来自国内多个顶尖高校。资源&#xff…

java 黑马头条 day3 实名认证分布式事务问题 seata

1 完善实名认证功能 1.1 实名认证分布式事务问题 1.1.1 问题分析 在昨天的实名认证代码中&#xff0c;审核完毕后添加 id5的演示异常&#xff0c;重新使用postman进行测试, 会发现 出现异常后 本地方法因为有 Transactional注解 对ap_user ap_user_realname的操作会回滚 而…

【Docker】配置lsky pro兰空图床

Docker 部署 lsky pro 兰空图床的教程 本文首发于 慕雪的寒舍 1.使用Docker部署 命令比较简单&#xff0c;用下面的即可 docker run -d \ --name lsky \ -p 14728:80 \ -v /root/docker/lsky:/var/www/html \ halcyonazure/lsky-pro-docker:latest--name 设置容器名字为 lsky…

基于VS调试分析 + 堆栈观察问题代码段

文章目录问题代码段1 —— 阶乘之和问题代码段2 —— 越界的危害① 发现问题② 分析问题③ 思考问题【⭐堆栈原理⭐】④ 解决问题【DeBug与Release】&#x1f468;程序员与测试人员&#x1f469;✒总结与提炼问题代码段1 —— 阶乘之和 先来看一道C语言中比较基础的题目&#x…

新能源汽车PK燃油汽车,首次胜出,输赢真的那么重要?

新能源汽车PK燃油汽车&#xff0c;输赢真的那么重要&#xff1f;是的。【科技明说 &#xff5c; 每日看点】今天看到一个新能源汽车领域的消息&#xff0c;我觉得很有意思&#xff0c;是说中国新能源汽车满意度水平首次超过了燃油汽车&#xff0c;你们觉得是这样么&#xff1f;…

语义通信:DeepSC用于文本传输也太香了吧

论文标题&#xff1a;Deep Learning Enabled Semantic Communication Systems 论文链接&#xff1a;https://arxiv.org/abs/2006.10685v1 摘要 最近&#xff0c;人们开发了支持深度学习的端到端&#xff08;E2E&#xff09;通信系统&#xff0c;以合并传统通信系统中的所有物…

React中JSX的用法和理解

React的特点 React是用于构建用户界面的高效且灵活的 JavaScript 库&#xff0c;采用组件化模式和声明式编码&#xff1b;使用DOMdiff算法&#xff0c;最大限度地减少与DOM的交互。 相关js库 react.js&#xff1a;React核心库。react-dom.js&#xff1a;提供操作DOM的react扩…

Eclipse导出jar时的错误

文章目录一、发现问题二、解决问题三、新的问题今天&#xff0c;本来是风和日丽&#xff0c;轻风和畅的&#xff0c;复习的一天&#xff0c;直到我开始尝试导出 jar 可执行文件&#xff0c;兄弟们请记住这个词&#xff0c;我将被他折磨很久。一、发现问题 首先&#xff0c;我美…

RT-Thread MSH_CMD_EXPORT分析

RT-Thread MSH_CMD_EXPORT分析 1. 源码分析 在rt-thread中&#xff0c;使用FinSH&#xff0c;可以支持命令行。在源码中&#xff0c;使用MSH_CMD_EXPORT导出函数到对应命令。 extern void rt_show_version(void); long version(void) {rt_show_version();return 0; } MSH_CM…

实战超详细MySQL8离线安装

在RedHat中&#xff0c;RPM Bundle 方式安装MySQL8。建议一定要用 RPM Bndle 版本安装&#xff0c;包全。官网下载&#xff1a;https://dev.mysql.com/downloads/mysql/1.卸载mariadb&#xff0c;会与MySQL安装冲突。rpm -qa | grep mariadb 查看有无mariadb如果有&#xff0…

数据机构笔记哈夫曼编码

1.什么是哈夫曼树&#xff1f;哈夫曼树经典问题&#xff1a;合并果堆问题&#xff1a;如果有三个果堆&#xff0c;其质量分别是1,2,3&#xff0c;我们现在需要将这三堆合并成一堆果堆&#xff0c;合并过程消耗体力等于两堆果堆的质量之和&#xff0c;求最小体力消耗值&#xff…

java贪心算法

1 应用场景-集合覆盖问题 假设存在下面需要付费的广播台&#xff0c;以及广播台信号可以覆盖的地区。 如何选择最少的广播台&#xff0c;让所有的地区 都可以接收到信号 2 贪心算法介绍 贪婪算法(贪心算法)是指在对问题进行求解时&#xff0c;在每一步选择中都采取最好或者最优…

Threadlocal为何引发内存泄漏问题

首先我们要先了解什么是泄漏问题和什么是内存溢出 内存泄漏表示程序员申请了内存&#xff0c;但是该内存一直无法被释放 内存溢出表示申请内存不足&#xff0c;就会报错 为何引发内存泄漏问题 因为每个线程都有自己独立的ThreadLocalMap对象&#xff0c;key为ThreadLocal&…

【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号

文章目录1.函数重载&#xff1a;writetofile()&#xff0c;Ctrue和false&#xff0c;C0和非02.类和对象&#xff1a;vprintf2.1 构造函数&#xff1a;对成员变量初始化2.2 析构函数&#xff1a;一个类只有一个&#xff0c;不允许被重载3.引用&#xff1a;C中&取地址&#x…

【shell 编程大全】内容格式化以及多样化输出

内容格式化以及多样化输出 1. 前倾回顾 本章节我们一起来学习下&#xff0c;shell中内容格式化&#xff0c;以及多样输出。但是在学习之前&#xff0c;我们先来看看上个章节【shell 变量的定义以及使用】 我们都学习到了什么知识 shell 变量的定义以及使用 变量分类变量定义类…

SpringBoot设置和读取配置文件(1)

SpringBoot配置文件是用来保存SpringBoot项目当中所有重要的数据的&#xff0c;比如说数据库连接信息&#xff0c;数据库的启动端口&#xff0c;如果端口被占用了&#xff0c;那么就可以随时修改&#xff1b; 1)比如说我们之前再写JDBC的代码的时候&#xff0c;要去写链接字符串…