一、从github上下载项目

TinyWebserver项目github地址

首先确定下linux系统的版本信息, linux查看系统类型和版本
登陆Linux,在终端输入 cat /proc/version
得到:
在这里插入图片描述
以上说明linux系统内核版本
其次看下linux系统发行版本lsb_release -a
在这里插入图片描述
确定是centos系统7.3.1611,需要注意下使用的语句。比如在线安装软件中,centos使用的是yum命令,而ubuntu中使用的是apt-get命令。

可以理解为内核版本就是指linux中最基层的代码,版本号如 Linux version 3.10.0-327.22.2.el7.x86_64
发行版本就是在某版本内核的基础上加了发行商自己想加进去的很多软件代码,比如 CentOS Linux release 7.2.1511 (Core)

其次Linux 下建立 Git 与 GitHub 的连接 .
按照上面链接要求,  
CentOS 安装 Git: yum install git
查看 Git 版本信息: git version
在这里插入图片描述
仿照以下格式配置自己的信息

 git config --global user.name "name"
 git config --global user.email "@163.com"

我使用的是 CentOS,则默认开启了 SSH,可以忽略开启 SSH服务(ssh服务详解
查看 SSH 服务状态: ps -e | grep sshd
在这里插入图片描述
sshd 表示 ssh-server 已启动
查看ssh key是否存在:ls -al ~/.ssh
在这里插入图片描述
查看具体ssh key信息:

 root@localhost:~# cd /root/.ssh
 root@localhost:~/.ssh# ls -a

在这里插入图片描述

可以看到authorized_keys,但是没有id_rsa、id_rsa.pub。
id_rsa、id_rsa.pub 、authorized_keys区别
所以重新生成SSH KEY: ssh-keygen -t rsa -C "……@163.com"

查看具体ssh key信息:

 root@localhost:~# cd /home/admin/.ssh
 root@localhost:~/.ssh# ls -a

在这里插入图片描述
然后打开id_rsa.pub,内容复制到剪切板vim id_rsa.pub然后在github的personal setting页面的SSH and GPG keys选项里填写剪切板里复制过来的内容。

然后github获取别人的远程仓库并clone到本地:git clone 仓库复制过来的SSH地址
(这种方式不会修改原来代码)

参考:之后怎么同步git和github上的内容
一篇不错的git简单教程Git和Github简单教程

二、配置好环境

下载完之后,项目包所在位置在当前目录,/home/admin/.ssh
在这里插入图片描述
需要把它运行起来,项目的快速运行部分里面有简单的说明,首先不管三七二十一,看了看下载的项目包里有的东西cd TinyWebServer ls -a

在这里插入图片描述
然后试了试sh ./build.sh
在这里插入图片描述
试了试开启mysql: service mysqld start
报错 The server quit without updating PID file

报错的解决方法:启动mysql报错The server quit without updating PID file!
我就不尝试了,删了Mysql,重装:Linux系统发行版ContOS7演示安装MySQL。
直到rpm -e mysql显示
error: package mysql is not installed
(rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序, -e删除套件)
按照我的系统设置,在mysql官网上选好要下载的版本,得到下载链接后wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
在这里插入图片描述
然后yum repolist enabled | grep "mysql.*-community.*" 查看是否成功安装,啥都不显示(因为我忘记安装语句了)

首先查找下错误ls -a下/home/admin下文件
在这里插入图片描述
在 Linux中,文件的颜色都是有含义的,文件名颜色不同,代表文件类型不一样。
浅蓝色:表示链接文件;
灰色:表示其他文件;
绿色:表示可执行文件;
红色:表示压缩文件;
蓝色:表示目录;
红色闪烁:表示链接的文件有问题了;
黄色:表示设备文件,包括block,char,fifo。
centos7 yum安装mysql

首先rpm -ivh mysql80-community-release-el7-3.noarch.rpm 正式安装
刚开始报错
在这里插入图片描述
执行rpm时提示:error: can’t create transaction lock on 啥啥啥,理由是安装一个软件是要往/bin、/usr/bin、/etc等文件夹下写东西的,需要root的权限,sudo su root一下就可以正常安装
在这里插入图片描述
yum repolist enabled | grep "mysql.*-community.*" 查看yum源的安装情况
在这里插入图片描述
接下来安装需要的mysql版本,我需要mysql5.7.29。yum repolist all | grep mysql看启用情况
在这里插入图片描述
yum-config-manager --disable mysql80-community       ##禁用8.0版本的
yum-config-manager --enable mysql57-community       ##启用5.7版本的

中间若报错yum-config-manager找不到,yum -y install yum-utils

再看一遍启用情况
在这里插入图片描述
yum install mysql-community-server 开始安装
在这里插入图片描述
报错原文
Public key for mysql-community-server-5.7.37-1.el7.x86_64.rpm is not installed
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安装失败-GPG验证不通过
使用引入公钥的方法rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022,然后重新安装:
在这里插入图片描述

安装完成后验证

 service mysqld start        #开启MySQL服务    只要没有错误信息就表示已经正常启动了。
 service mysqld stop        #关闭MySQL服务
 service mysqld restart      #重启MySQL服务 
 service mysqld status      #查看服务状态

service mysqld start 报错
The server quit without updating PID file
报出上图一样的错误 解决方法:mysql提示The server quit without updating PID file,按照链接里的方法挨个排查。 排查了一下,我ps -ef|grep mysqld 了一下(ps -ef:ps 命令是Process Status的缩写,用来列出系统中当前运行的进程,ps -ef 把所有进程显示出来) 在这里插入图片描述 需要把和mysql有关的进程kill掉,所以再用lsof -i:3306 (3306默认是mysql服务器的端口)确认了下,列出谁在使用mysql服务器的端口。(lsof(list open files)是一个列出当前系统打开文件的工具。详细介绍见linux lsof命令详解在这里插入图片描述
如果报错没有lsof ,那再yum install lsof 。但是多次kill -9 mysql的PID ,mysql不但没被杀掉,而且换了一个pid号仍然运行。

目前面临问题: 系统启动了自带的mysql进程,想要启动自己所需配置文件的mysql,就要杀掉默认的mysql。 使用kill -9 pid号,mysql不但没被杀掉,而且换了一个pid号仍然运行mysql使用kill无法杀死进程
由于MySQL有一个守护进程,MySQL_safe这样的,所以每次强制杀死,他都会自动启动,所以想通过service mysqld stop 来关闭MySQL服务,但是报错
在这里插入图片描述
怎么解决MySQL server PID file could not be found问题
使用⬆链接,结束战斗
在这里插入图片描述

主要的原因应该是
1.没有正确kill掉mysql进程(killall mysqld
2. mysql数据目录权限异常, 输入mysql,报错ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
解决:修改mysql数据目录权限chown -R mysql.mysql /var/lib/mysql/

(mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,可以打开这个文件查看在[mysqld]节下的配置vim /etc/my.cnf

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐