目录
然后正常使用yum命令下载mysql即可完成MySQL的下载
介绍一下yum源
yum源就是一个配置文件,文件后缀一般为repo,意为仓库,文件内就是一堆下载链接,可以帮yum找到该向哪个服务器发送网络请求,从而完成对软件的安装包的下载并对安装包解包。yum会自动根据当前系统的版本去找合适的yum源进行下载,一个yum源会有许多下载链接,这是为了解决依赖关系(注意这里的依赖关系和makefile没有任何关系),因为下载一个软件后,通常还需要一些软件运行的组件或者运行环境,比如别人想运行你写的hello world就得下载C库,所以一个yum源里除了得有指定软件的下载链接,还应该有其他依赖文件的下载链接。
yum就相当于应用商店,yum指令底层做了两件事,第一是根据yum源下载软件的安装包,也就是常说的下载软件,第二是解包,解包的方式为对rpm文件调用rpm-ivh指令,也就是常说的安装软件。注意从网络中只能下载软件的安装包到本地,但无法进行本地的软件安装,所以从网络下载完成后,需要本地解包进行软件的安装,也就是常说的下载软件后还需要安装软件。以rpm为后缀的文件就相当于安装包,Linux中以对rpm文件使用rpm -ivh指令完成对安装包的解包,也就是安装软件。
如何获取MySQL官方yum源
先打开网站http://repo.mysql.com/,然后按照下图的做法去做。
如下图1所示,如果运行指令后没有报错,则此时mysql就下载成功了;
但如果下到最后并没有看到complete提示,而是有如下图2的报错信息,则说明下载遇到了密钥过期的问题(因为下载本质是网络通信,https协议中的密钥过期就会导致双方通信失败),解决方案也很简单,先输入指令rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 更新密钥,然后再重新调用下图1中的yum下载指令即可成功下载了。
如下图3所示,当Linux服务器中有mysql、mysqld、my.cnf这3个文件则说明mysql下载成功了,如果没有则说明下载失败,失败请回看上面的流程,看看是哪个环节出问题了。
在上文中说过,当Linux服务器中有mysql、mysqld、my.cnf这3个文件,则说明mysql下载成功了,说一下,在这3个文件中,mysql是客户端可执行文件,mysqld是服务端可执行文件(d表示守护进程),my.cnf是mysql和mysqld的配置文件,所以实际上mysql就是一个网络服务器,和我们以前自己编写TCP服务端和客户端是一样的,都是基于客户端和服务端的模式,所以想要mysql能够工作起来,首先要启动mysql的服务端mysqld,如下图所示,在红框处使用systemctl start mysqld命令启动服务端后,使用ps命令查看进程就能看到mysqld服务端进程的存在,使用netstat -nltp命令查看网络连接的状态就能看见mysqld处于listen监听状态(这就说明了mysqld服务端和mysql客户端本质是基于TCP协议进行通信的),正在等待mysql客户端的连接到来。
此时我们就可以通过登录客户端mysql来连接服务端mysqld了,登录客户端的方法一般有3种,如下:
图1如下。
图2如下。
图3如下。
完成上文中的步骤后,我们最后还需要对客户端mysql和服务端mysqld共同的配置文件my.cnf增加2个配置条目。如下图所示,先通过指令sudo vim /etc/my.cnf打开配置文件(一定要加上sudo,否则没有权限更改my.cnf文件中的内容,即最后更改完毕后是没法通过wq保存退出该文件的,即使是wq!也无法保存退出该文件),然后在文件中添加上红框处的两行内容character-set-server=utf8和default-storage-engine=innodb,然后wq保存退出该文件,最后重启服务端mysqld以让mysqld重新读取配置文件中的内容以让刚刚配置的新内容生效即可。