【冬季实战营第一期:从零到一上手玩转云服务器】学习报告

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 这篇内容主要是描述了我在学习实战营第一期课程中遇到的问题和部分解决方案。注:为了复现问题,因此多次体验并截图,因此可能存在前后图片中账号不一致的问题。不过描述的问题是确实存在的。

快速搭建LAMP环境

我在学习快速搭建LAMP环境课程中遇到了以下两个问题:

  1. 下载并安装MySQL数据库后,启动数据库失败
  2. 登录MySQL数据库时输入密码错误后, 被y循环刷屏无法继续操作


以下是发生问题的具体情境和解决过程:

1.下载并安装MySQL数据库后,启动数据库失败

在安装并配置MySQL数据库这一步骤中,我首先输入以下代码来下载安装MySQL数据库:

rpm -e mariadb-libs --nodeps

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-common-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-compat-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-client-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-server-5.7.35-1.el7.x86_64.rpm

在安装 mysql-community-client.x86_64 0:5.7.35-1.el7后显示了Complete,我这时误以为已经全部下载并安装完成

001.png

便直接执行以下代码启动数据库

systemctl start mysqld.service

然后便得到以下结果:

003.png

在和其他学员讨论后,得出结论为,MySQL数据库没有下载安装完整。在安装 mysql-community-client.x86_64 0:5.7.35-1.el7后,接着以下步骤时,我没有继续:

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-server-5.7.35-1.el7.x86_64.rpm

由于以上步骤无法自动完成,必须手动输入Enter让其继续下载安装

002.png

最终必须mysql-community-server.x86_64 0:5.7.35-1.el7 也安装完成后,MySQL数据库才算下载安装完整,才能执行启动步骤。

以上就是下载并安装MySQL数据库后,启动数据库失败的问题情境和解决过程。


2.登录MySQL数据库时输入密码错误后, 被y循环刷屏无法继续操作

在登录数据库这一步骤中,我首先执行以下代码登录数据库

mysql -uroot -p

然后它要求我输入密码,由于此时密码输入过程中无法看见所输入内容,因此较容易输错,我不小心输入错误后,系统报错:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

然后由于我误把这个错误描述中的using password:YES理解为如果使用密码登录要输入YES,而输入了YES,结果导致了以下被y循环刷屏无法继续操作只能退出重进的情况:

刷屏bug.gif

遇到以上的情况后实际就无法继续操作了,只能退出重进重新体验课程并操作,这次在输入错误密码后,我重新执行了登录数据库的操作,并输入了正确密码,这次就能正常登录进数据库了。

0043.png

以上就是登录MySQL数据库时输入密码错误后, 被y循环刷屏无法继续操作的问题情境和解决过程。


使用PolarDBECS搭建门户网站

我在学习使用PolarDB和ECS搭建门户网站课程中遇到较多问题:

  1. PolarDB数据库中有两个集群ID,其中一个无法创建数据库账号
  2. 课程中给出的下载安装数据库代码无法正常下载安装MySQL数据库,从而导致启动数据库失败
  3. 在执行修改站点根目录权限后,一直重复cp overwrite……的命令,无法进行其他操作
  4. 向数据库中导入CMS的初始数据时,执行代码后一直报错


以下是发生问题的情景和部分解决过程(目前还存在问题未完全解决):

1.PolarDB数据库中有两个集群ID,其中一个无法创建数据库账号

由于中途遇到无法解决继续操作的情景,因此重新体验了课程。

在第二次进入课程创建资源后,发现集群列表里有2个集群ID,第一次体验时里面只有1个集群ID,此时多了1个。

005.png

我选择了第2个集群ID的账号进行操作,然后账号管理-创建账号操作时,发现这个集群ID没有权限进行这个操作:

006.png

此时我对比了两个集群ID,发现第一个集群ID和课程中云产品资源里提供的polarDb实例ID一致,因此第一个集群ID才是主账号,我改选了第一个集群ID重新进行了账号管理-创建账号操作,此次顺利进行。

以上就是PolarDB数据库中有两个集群ID,其中一个无法创建数据库账号的问题情境和解决过程。


2.课程中给出的下载安装数据库代码无法正常下载安装MySQL数据库,从而导致启动数据库失败

在LAMP环境这一步骤里,此次又是要求下载安装MySQL数据库,此次给出的代码和上次不同:

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

执行后再启动MySQL数据库时遇到以下问题:

007.png

MySQL数据库启动失败,数据库未正常下载安装。

再往上看,看到

Failing package is: mysql-community-server-5.7.37-1.el7.x86_64

GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

也就是mysql-community-server-5.7.37-1.el7.x86_64没有安装正确。而且再往上看还能看到如下语句:

Public key for xxx.rpm is not installed:

查询了其它相关案例,我确认了这是由于在安装或升级软件包时会检查软件包的签名,若系统没有导入或使用了旧版本的GPG keys,那么需要导入或获取最新的GPG keys才能安装。

而解决方案有三种:

  • 导入GPG keys
  • 修改yum源文件,跳过gpgcheck
  • 下载最新签名

首先课程中没有提供正确的GPG keys,所以我无法采用第一种方法;然后下载最新签名的话,我也没有下载地址,无法采用第三种方法;之后我尝试跳过gpgcheck的方法,也就是第二种方法:

首先我在使用yum install时加上了参数–nogpgcheck

结果反馈没有-n这个命令:

008.png

最终我选择了第四种,用之前课程中的下载安装MySQL数据库代码安装:

rpm -e mariadb-libs --nodeps

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-common-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-compat-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-client-5.7.35-1.el7.x86_64.rpm

yum install -y https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-server-5.7.35-1.el7.x86_64.rpm

这次安装完毕后就可以顺利启动了。


然而我最后反思了一下过程中,跳过gpgcheck为何不能执行,然后我重新输入代码时发现,执行这一步骤不是在后面加上

-nogpgcheck,而是--nogpgcheck。看似只有多了一个-的区别,结果千差万别:

009.png

以上就是课程中给出的下载安装数据库代码无法正常下载安装MySQL数据库,从而导致启动数据库失败的问题情境和解决过程。


3.在执行修改站点根目录权限后,一直重复cp overwrite……的命令,无法进行其他操作

我在搭建门户网站这一步骤中,执行以下命令修改站点根目录文件权限后,

chmod -R a+w /var/www/html

不慎又重复执行了上一步将安装包拷贝到Apache的wwwroot目录下这一代码

cp -r PbootCMS/* /var/www/html/

结果系统一直重复cp overwrite XX这一代码,无法进行其他操作

010.png

有学员建议我在cp前加\,即\cp,但是我尝试后,依旧不断循环cp overwrite XX的命令

011.png

最终我只有关闭该课程会话并重新开始。

以上就是在执行修改站点根目录权限后,一直重复cp overwrite……的命令,无法进行其他操作的问题情境和解决过程。


4.向数据库中导入CMS的初始数据时,执行代码后一直报错

在向数据库中导入CMS的初始数据时,我按要求修改并执行了以下代码:

sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&

mysql -h数据库连接地址 -utest_user -pPassword1213 -Dpbootcms < $sql_file

其中我将数据库连接地址部分改为云产品资源里的polarDb连接地址,但是它会报错:

013.png

经其他学员提示要在对应的命令-h-u-p-D后加一个空格,我按照这个方法修改后执行,它要求我输入密码:

014.png

如果我在对应polarDB地址后加上端口号:3306的话,它会显示没有解析到这个IP:

012.png


目前这个问题一直未解决。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
Ubuntu Linux 定位技术
Trinitycore学习之在Linux环境上搭建服务器并测试运行
Trinitycore学习之在Linux环境上搭建服务器并测试运行
155 0
|
6月前
|
网络协议 Linux
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
539 0
|
6月前
|
网络协议
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)(下)
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)
140 2
|
28天前
服务器迁移上云训练营打卡学习领好礼
服务器迁移上云训练营打卡学习领好礼
44 4
|
27天前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
46 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2月前
服务器迁移上云训练营打卡学习领好礼
服务器迁移上云训练营打卡学习领好礼
38 6
|
6月前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
6月前
|
Linux Shell 文件存储
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
177 1
|
3月前
|
存储 缓存 安全
学习服务器硬件基础知识
服务器是指一种高性能计算机,提供计算、存储和通信服务。通常运行在网络环境中,为计算机、设备或用户提供资源共享、数据存储和处理等服务。服务器可以是专门设计的硬件设备,也可以是在普通计算机上运行的特定软件。
75 6
|
6月前
|
监控 Linux Shell
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)
在线上排查问题时,查询日志、查看系统配置和分析操作系统信息是至关重要的。这些操作可以帮助我们深入了解软件和服务的兼容性,并解决潜在的问题。在本次学习中,我们将介绍并深入学习一些我在处理类似问题时常用的指令。通过掌握这些指令,你将能够更加高效地定位和解决线上问题,提高系统的稳定性和性能。让我们一同进入这个学习过程吧!
79 0
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)