阿里云个人建站笔记

导航

  • 一、购买ECS服务器
  • 二、配置mysql
    • (一)安装Mysql
      • 步骤一:安装mysql
      • 步骤二:配置MySQL
      • 步骤三:远程访问MySQL数据库
    • (二)给实例配置安全组策略
    • (三)设置防火墙

一、购买ECS服务器

我的需求:建立一个个人小网站,访问人五人以下,可能就我自己访问。并且开发一个微信小程序。需要用mysql

最后购买的配置:
2核 1GB突发性能实例 t6系列 V
I/O 优化实例:I/O 优化实例
系统盘:高效云盘/dev/xvda40GB模块属性
带宽:1Mbps按固定带宽
CPU:2核
可用区:随机分配
操作系统:Alibaba Cloud Linux 3.2104 LTS 64位Linux64位
内存:1GB
地域:华南 1
网络类型:专有网络
体检服务:是
管家服务:是

已分配公网IP

价格54元/月

二、配置mysql

(一)安装Mysql

在这里插入图片描述
点击立即登录
进入linux界面

参考以下链接安装mysql
https://help.aliyun.com/zh/ecs/use-cases/manually-deploy-mysql-on-an-ecs-instance-that-runs-centos
【到配置安全组之前都是这篇文章的,原文比较清晰建议大家去看原文。然后再返回来看】

步骤一:安装mysql

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

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

2.(可选)当操作系统为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

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

sudo yum -y install mysql-community-server --enablerepo=mysql80-community --nogpgcheck

4.运行以下命令,查看MySQL版本号。

mysql -V

5.返回结果如下,表示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

根据提示信息,重置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确认使用已设置的密码。
根据提示信息,删除匿名用户。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.
禁止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.
删除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.
重新加载授权表。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数据库

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

远程连接ECS实例。

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

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

sudo mysql -uroot -p

依次运行以下命令,创建远程登录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; 

执行以下命令,退出数据库。

exit

使用dmsTest账号远程登录MySQL。

在自己的电脑上用Navicat连接该服务器。

navicat连接信息:
在这里插入图片描述
这里的IP地址就是你购买ECS服务器配置的公网IP

(二)给实例配置安全组策略

主要是为了允许我们这个linux服务器上运行mysql服务的3306端口可以被访问。(就像你要让一只猫进家里,总得把门打开吧。)

在阿里云的左侧菜单栏点击 实例与镜像->实例
在这里插入图片描述
找到要配置端口的云服务器
在这里插入图片描述
点击三个点
点击加入安全组
在这里插入图片描述
选择一个安全组
在这里插入图片描述
然后在左侧的网络与安全->安全组中对刚刚选择的安全组进行配置
在这里插入图片描述
在这里插入图片描述
点击管理规则
入方向
在这里插入图片描述
点击手动添加
然后
在这里插入图片描述
在这里插入图片描述
到这里,用Navicat连接还是提示

远程连接Linux系统的ECS实例中的MySQL失败,提示“ERROR 2003 (HY000): Can't connect to MySQL server on '112.106.**.**'”错误怎么办?

此时,进入linux,把linux的my.cnf文件备份一下(一开始我看有的人是mysqld.cnf 我说怎么我的没有,后来才知道原来windows是这个,linux是my.cnf)

cp my.cnf my.cnf.bak

修改my.cnf配置文件
首先执行命令,打开my.cnf文件
vim /etc/my.cnf

然后按i进入编辑模式,把bind-address = 0.0.0.0加入到文件中
然后添加完成后按esc退出编辑模式,然后输入:wq后按enter键保存改动并退出文件

bind-address=0.0.0.0

然后重启mysql服务
sudo systemctl restart mysqld

(三)设置防火墙

1.启动并配置 FirewallD
首先,尝试启动 FirewallD 服务:

sudo systemctl start firewalld

然后,确认 FirewallD 已经启动:

sudo systemctl status firewalld

接下来,为了确保远程连接到MySQL服务器的能力,需要确保firewalld防火墙配置正确,允许外部访问服务器上的MySQL端口(默认是3306)。尝试添加3306端口到防火墙规则:

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

之后,重新加载 FirewallD 以应用更改:

sudo firewall-cmd --reload

检查更新后的规则,确认3306端口已被允许:

sudo firewall-cmd --list-all 

这个命令将显示所有配置的规则,包括允许的端口。你应该能在列表中看到3306端口。

在这里插入图片描述
此时再连接就成功了!

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

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

相关文章

.ma1x0勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

尊敬的读者&#xff1a; 数据安全问题备受关注。而勒索病毒是其中一种最为恶劣的威胁之一。其中&#xff0c;.ma1x0勒索病毒备受人们担忧&#xff0c;因其可将用户的数据文件加密&#xff0c;并要求支付赎金以解密文件。本文将介绍.ma1x0勒索病毒的特征、预防方法以及如何恢复…

transformer-Attention is All You Need(二)

transformer中的解码器 解码器层 每个解码器层根据给定的输入向目标方向进行特征提取&#xff0c;即完成解码过程 transformer的解码器也是一个自回归模型&#xff0c;根据编码器的结果以及上一次预测的结果&#xff0c;对下一次可能出现的值进行特征表示。它也是由N层完全相同…

循环队列|超详细|数据结构学习讲解与笔记

队列元素先进先出队列只允许在线性表的一端进行操作&#xff0c;是一种操作受限的线性表 队列的基本操作 InItQueue(&Q)初始化队列&#xff0c;构造一个空队列 QEmptyQueue(Q)队列判空FullQueue(Q)队列判满EnQueue(&Q , x)入队操作DeQueue(&Q , &x)出队操作G…

OpenAI新爆款Sora,大佬们怎么看?

OpenAI新爆款Sora的热度持续发酵&#xff0c;在科技圈的刷屏阵仗都快赶上正月初五迎财神了。 智东西2月17日报道&#xff0c;这两天&#xff0c;OpenAI首款文生视频大模型Sora以黑马之姿占据AI领域话题中心&#xff0c;马斯克、杨立昆、贾扬清、Jim Fan、谢赛宁、周鸿祎、李志…

【动态规划专栏】专题一:斐波那契数列模型--------2.三步问题

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

数据结构-最短路径(Dijkstra算法与Floyd算法)

介绍 对于网图来说&#xff0c;最短路径是指两顶点之间经过的边上权值之和最少的路径&#xff0c;其路径上第一个点记为源点&#xff0c;最后一个为终点。 计算最短路径有两个经典算法&#xff0c;即迪杰斯特拉&#xff08;Dijkstra&#xff09;算法与弗洛伊德&#xff08;Fl…

unity学习(20)——客户端与服务器合力完成注册功能(2)调试注册逻辑

接着上一节的问题&#xff0c;想办法升级成具备数据库功能的服务器&#xff0c;这个是必须的。 至少在初始化要学会把文件转换为session&#xff0c;新知识&#xff0c;有挑战的。 现在是从LoginHandler.cs跳到了AccountBiz.cs的create&#xff0c;跳度还是很大的。 create函…

oauthlib,一个强大的 Python 身份校验库!

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。 目录 ​编辑 前言 什么是 OAuthLib&#xff1f; 安装 OAuthLib OAuthLib 的主要功能 OAuthLib 的用法 实现…

文案馆头像壁纸微信小程序源码【支持流量主】

文案馆头像壁纸微信小程序源码【支持流量主】 源码介绍&#xff1a;文案馆头像壁纸微信小程序源码是一款可以获取套图、头像、壁纸的小程序。小程序源码内置流量主功能 需求环境&#xff1a;微信小程序phpmysql 下载地址&#xff1a; https://www.changyouzuhao.cn/13453.ht…

【C语言】长篇详解,字符系列篇2-----受长度限制的字符串函数,字符串函数的使用和模拟实现【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本期系列为【【C语言】长篇详解&#xff0c;字符系列篇2-----“混杂”的字符串函数&#xff0c;字符串函数的使用和模拟实现【图文详解】&#xff0c;图文讲解各种字符串函数&#xff0c;带大家更深刻理解C语言中各种字符串函数的应用&#x…

即时设计是什么?

在过去的两年里&#xff0c;由于疫情的推动以及科学技术的不断进步&#xff0c;国内外协同办公室发展迅速。在市场的推动下&#xff0c;市场上出现了越来越多的协同办公软件&#xff0c;使工作场所的工作更加高效。 在设计领域&#xff0c;具有协同功能的软件市场似乎仍处于空…

记一个大坑: 树莓派上docker运行motioneye找不到摄像头

当在树莓派上执行这段命令后&#xff0c;将创建montioneye容器 docker run --name"motioneye" \-p 8765:8765 \--hostname"motioneye" \-v /etc/localtime:/etc/localtime:ro \-v /etc/motioneye:/etc/motioneye \-v /var/lib/motioneye:/var/lib/motione…

162基于matlab的多尺度和谱峭度算法对振动信号进行降噪处理

基于matlab的多尺度和谱峭度算法对振动信号进行降噪处理&#xff0c;选择信号峭度最大的频段进行滤波&#xff0c;输出多尺度谱峭度及降噪结果。程序已调通&#xff0c;可直接运行。 162 matlab 信号处理 多尺度谱峭度 (xiaohongshu.com)

用Windows桌面应用程序制作一个扫雷游戏

游戏介绍: 这段代码是一个简易版的扫雷游戏的主程序部分。游戏分为几个主要部分: **主函数 (main)**:负责整个游戏流程的控制。首先,它初始化了一个枚举类型的变量 input 用于存储玩家的选择。然后,进入一个循环,在这个循环中,它会显示游戏菜单,接收玩家的输入,并根…

mysql 2-1

添加数据 方式二 更新数据 删除数据 小结 计算列 数据类型 可选属性 适用场景 如何选择 浮点类型 存在精度问题 定点数介绍 BIT类型 日期与时间类型 YEAR类型 DATA类型 TIME类型 DATATIME TIMESTAMP 文本字符串类型 适用场景 TEXT类型

基于Springboot的校园求职招聘系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园求职招聘系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

Git基本操作(超详细)

文章目录 创建Git本地仓库配置Git配置命令查看是否配置成功重置配置 工作区、暂存区、版本库添加文件--场景一概述实例操作 查看.git文件添加文件--场景二修改文件版本回退撤销修改情况⼀&#xff1a;对于工作区的代码&#xff0c;还没有 add情况⼆&#xff1a;已经 add &#…

大白话说说redux

redux的3个重要概念 store 就是用来存放应用的各种状态的action 就是用来描述应用发生了什么动作的&#xff0c;注意理解他是对动作的描述reducer 就是用来处理应用的动作&#xff0c;并且决定怎么去更新应用存放在store里面的状态。 redux的3个原则 应用的所有状态存储为re…

BUGKU-WEB 源代码

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 你说啥就是啥&#xff1a;去源代码吧 相关工具 URL解码平台&#xff1a;https://www.iamwawa.cn/urldecode.html 解题步骤 随便输入试试 2. 看看源码 存在script&#xff1a; <script> …

Java学习--黑马SpringBoot3课程个人总结-2024-02-14

1.子路由 //定义路由关系 const routes[{ path: /login, component: LoginVue},{ path: /, component: LayoutVue,redirect:/article/manage,children:[{path:/article/category,component:ArticleCategoryVue},{path:/article/manage,component:ArticleManageVue},{path:/…