- 剑指MySQL:架构、调优与运维
- 尚硅谷教育编著
- 2297字
- 2024-12-31 18:29:07
1.2 Linux平台下MySQL的安装
1.2.1 MySQL的四大版本
目前MySQL有四大版本,分别是社区版本(MySQL Community Server)、企业版本(MySQL Enterprise Edition)、集群版本(MySQL Cluster)和高级集群版本(MySQL Cluster CGE),具体说明如下。
●社区版本开源、免费,可自由下载,但不提供官方技术支持,适合大多数普通用户。
●企业版本需付费,不能在线下载,可以试用30天,提供了更丰富的功能和更完备的技术支持,适合对数据库功能和可靠性要求较高的企业用户。
●集群版本开源、免费,用于架设集群服务器,可将几个MySQL Server封装成一个Server,需要在社区版本或企业版本的基础上使用。
●高级集群版本需付费。
1.2.2 下载MySQL指定版本
下载MySQL指定版本的具体操作步骤如下。
(1)打开MySQL官网首页,单击“DOWNLOADS”按钮,如图1-4所示,进入下载页面。
(2)在下载页面中单击“MySQL Community(GPL)Downloads”链接,如图1-5所示。
(3)在打开的页面中单击“MySQL Community Server”链接,如图1-6所示。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_4.jpg?sign=1739574349-8HN8P7HJeRgrUAGetIMzHwPD8iOUVv94-0-78ebdc73858a607ab713ce1f2a10cd64)
图1-4 单击“DOWNLOADS”按钮
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_5.jpg?sign=1739574349-QQ0ltwQgO8Vm4g7BCbHkLofXMz9MR30Q-0-ab8b87e22fc6462c334254e665fb3612)
图1-5 单击“MySQL Community(GPL)Downloads”链接
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_6.jpg?sign=1739574349-oqZV2Y94Nqxlpjl9ziTCDgfWh19iMb9e-0-6a95932fd2e35ae9f6d85dc22a4b653a)
图1-6 单击“MySQL Community Server”链接
(4)在“General Availability(GA)Releases”选项卡中选择适合的版本。如果要在Windows平台下安装MySQL,则推荐下载MSI安装程序。在Windows版MySQL下载页面中单击“Go to Download Page”按钮,如图1-7所示,进行下载。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_7.jpg?sign=1739574349-EDEwFLHCPryBQI143Tv8shNI2w1o1fD0-0-f92bb6185e4179ebf3a4bd83c9342857)
图1-7 单击“Go to Download Page”按钮
Windows平台下有两种MySQL安装程序:第一种是mysql-installer-web-community-8.0.25.0.msi,程序大小为2.4MB,需要联网安装;第二种是mysql-installer-community-8.0.25.0.msi,程序大小为435.7MB,离线安装即可(推荐安装程序)。
1.2.3 Linux平台下安装MySQL的三种方式
在Linux平台下安装MySQL有多种方式,下面介绍三种常见的安装方式,分别是rpm命令安装、yum命令安装和编译安装。
1.rpm命令安装
使用rpm命令安装扩展名为.rpm的软件包。RPM软件包的一般格式如图1-8所示,其中,el7表示可以在Red Hat 7.x、CentOS 7.x、CloudLinux 7.x系统中安装软件包。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_8.jpg?sign=1739574349-2T4CnDCcYR1q30gH8L6mcS7ubz5xhJCo-0-b5729e8d0ac36485c4e5738fd0817508)
图1-8 RPM软件包的一般格式
2.yum命令安装
使用“yum install mysql-server”命令安装MySQL即可。该安装方式需要联网,从互联网上获取yum源。rpm命令安装方式虽然方便,但是需要手动解决软件包的依赖问题,而yum命令安装方式可以解决这个问题。
3.编译安装
编译安装方式虽然比较复杂,但是参数设置灵活。
本书采用rpm命令安装方式来安装MySQL,需要先下载软件包,具体操作步骤为:进入MySQL下载页面,选择“Red Hat Enterprise Linux 8/Oracle Linux 8(x86,64-bit),RPM Bundle”选项,单击右侧的“Download”按钮,下载MySQL RPM软件包,如图1-9所示。
下载完成后,解压缩软件包,如图1-10所示,矩形框中的软件包是抽取出来的软件包。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_9.jpg?sign=1739574349-wnvF4R4yy9lUCITCt9w6twLhYPTpr93E-0-3ba2f14fb274ec648349650fc6dc2965)
图1-9 MySQL RPM软件包下载
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_10.jpg?sign=1739574349-oo4x1MV7e9Dt8els3LLmXIociFzf9V15-0-5a216ad0b8e4db253187cffb40eb9a3b)
图1-10 MySQL RPM软件包解压缩
1.2.4 安装MySQL前的必要操作
本书将在CentOS 7版本的Linux平台下安装MySQL。在安装MySQL前,我们还需要执行一些必要的操作。
1.检查服务器上是否存在旧版本的软件包
在采用rpm命令安装方式安装MySQL前,先执行“rpm-qa|grep-i mysql”命令检查服务器上是否存在旧版本的软件包。如果服务器上存在旧版本的软件包,则显示如下代码。此时需要卸载当前版本的MySQL,卸载流程参见1.3节。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_11.jpg?sign=1739574349-ugJ4J9ZJ3Ch74uQIlw3NzPEc59f1oSKA-0-4b2d49302949934e71f05cfa6e39975e)
如果服务器上不存在旧版本的软件包,则显示如下代码。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_12.jpg?sign=1739574349-oJJNyZyhSAIbIX0jiVnEF27RZOsaBzHt-0-bc38ba2f474d00419959329515f6bd07)
2.授予/tmp目录较大的权限
由于在安装MySQL的过程中,MySQL用户会在/tmp目录下新建tmp_db文件,因此需要授予/tmp目录较大的权限,执行如下命令即可。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_13.jpg?sign=1739574349-tnyY5mp7w1Pl5Sl7cJwwwUzxRXz3iUF3-0-d8bdaccd1e57170f1c61773e9063aef9)
1.2.5 CentOS 7下MySQL的安装过程
我们把CentOS 7下MySQL的安装过程分为5个步骤,介绍如下。
1.将安装程序复制到/opt目录下
/opt目录用来安装附加软件包,是用户级的程序目录。安装到/opt目录下的程序所包含的数据和相关文件都被存放在同一个目录下。opt有可选的意思,/opt目录可以用于存放第三方大型软件,当用户不需要这些软件时,直接使用“rm-rf”命令将其删除即可。当前磁盘容量不够时,也可将/opt目录单独挂载到其他磁盘上使用。在这里我们把MySQL安装到/opt目录下(执行“pwd”命令可以查看工作目录,执行“ls”命令可以查看工作目录下的内容),如下所示。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_14.jpg?sign=1739574349-qXQGbYL5e6vcKIOBPdzaaFcsQq5cyj2o-0-aaa0f6da37398093b9968affa035ff65)
在/opt目录下执行如下命令(必须按照以下顺序执行,因为下面的软件包会依赖上面的软件包)。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_15.jpg?sign=1739574349-OnN6wgpPxJzCu4XOvz5TEtSo5dqhJde2-0-5234e0e4843c8cbda31388d707359602)
如果我们没有检查MySQL依赖环境,那么在安装mysql-community-server时会报错。解释一下上述命令的含义。
●“rpm”是Red Hat Package Manager的缩写。通过RPM的管理,用户可以把源代码包装成以.rpm为扩展名的文件形式,易于安装。
●“-i”的全拼为--install,表示安装软件包。
●“-v”的全拼为--verbose,表示提供更多的详细信息输出。
●“-h”的全拼为--hash,表示安装软件包时列出哈希标记(和“-v”参数一起使用效果更好),展示安装进度条。
2.安装过程展示
安装过程中的状态如下所示,会展示安装进度条,这就是“-h”参数所起的作用。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_16.jpg?sign=1739574349-jRxb2Kq5oqvRWQZ9hqGjVrLnCeZH8jkz-0-3d811fb6b4bf35874117fa675d25afbd)
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_17.jpg?sign=1739574349-cTpD8qGbLBFhTM2p0HplMKGEYHOac8sG-0-451126a632f6970a488f15a430a5ea4e)
如果在安装MySQL前没有卸载旧版本的软件包,则会报如下错误。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_18.jpg?sign=1739574349-uR7vA94XUkbG7nvVC78Yt4iLa0sgUS5a-0-e46b0cb76d2937cee0e349398623560c)
执行如下命令清除之前安装过的依赖。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_19.jpg?sign=1739574349-JK8CKavLc2zaOQbQkkQ3i9sVbyEXcd4c-0-401000c69ced0413822ac4d5eb25d5c6)
需要注意的是,在安装过程中可能会由于Linux系统缺少依赖导致安装失败。例如,缺少libaio依赖会提示如下信息。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_20.jpg?sign=1739574349-QsLIM6FPqw9d35zshDTAcHhnmoWIAAR3-0-fb9120e003a4e525f557a1b4c3f451bb)
只需根据提示信息安装必要的依赖即可。执行如下命令安装libaio依赖。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_21.jpg?sign=1739574349-nnkVBMUASfx8oaoEx1294cm6AezZJAWv-0-b0650574e6b5135c6dd4b8171718d5e7)
3.查看MySQL是否安装成功
执行如下命令查看MySQL是否安装成功,其中“-i”参数表示无须区分字母大小写。如果缺少某个软件包,则表示此次安装未完成。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_22.jpg?sign=1739574349-plsDDy0KM1E2S3RCKCXhSnt7KU9etxHe-0-25eed25fcc7ad42b09772c36b1c45e83)
上述代码表示MySQL已经完成安装,但并不代表安装过程中没有出现问题。执行“mysqladmin--version”命令测试MySQL是否安装成功。如果显示如下代码,则表示MySQL安装成功。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_23.jpg?sign=1739574349-gaA1O4JFU2kYaiZFPBI2HDIqbWTAJkM0-0-692c15b86f433c724a1d798041efb4e5)
4.启动MySQL服务,查看状态
以下命令分别用来启动、关闭、重启MySQL服务,以及查看状态。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_24.jpg?sign=1739574349-ZFC3hc01cRT0MEJxIiRn2rFuWba64dgG-0-b1a82a66fedd9738132bc021e8a27fc2)
上述命令中加不加.service都可以,因为mysqld这个可执行文件就代表MySQL服务器端程序。运行这个可执行文件就可以直接启动一个服务器进程,结果如下所示。如果显示加粗内容“active(running)”,则表示MySQL服务已经成功启动。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_25.jpg?sign=1739574349-9BgAB8WyvGUP7YSNco6zClIJ0RjPjrK9-0-0e782bf1227598376784aca4b495aef2)
也可以通过Linux命令查看MySQL进程是否存活,结果如下所示。之所以显示两行,是因为grep命令中包含“mysql”。第一行中的“/usr/sbin/mysqld”表示MySQL进程,第二行中的“grep--color=auto-i mysql”表示grep进程。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_26.jpg?sign=1739574349-1WTfAJlWelqemb0DrjMAlMTXoJm8cQKX-0-85df5eea1dbdb8d9bc8ea9195a1f46f4)
5.查看MySQL服务是否自启动
执行如下命令查看MySQL服务是否自启动。从结果中可以看到,默认状态是“enabled”,表示当前MySQL服务处于自启动状态。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_27.jpg?sign=1739574349-pbtMCY9iVrzmzQUinbHQe0yhSW2vagwp-0-55cb561f99de639052a7db5c49247a76)
如果显示“disabled”,则可以执行如下命令设置MySQL服务自启动。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_28.jpg?sign=1739574349-RJtdPUtV2am71yuAQ2HVMOpfMAtEAse1-0-ea0c20c0c10ab75280a922254856795e)
如果用户不希望MySQL服务自启动,则可以执行如下命令进行设置。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_29.jpg?sign=1739574349-q3vgpjkRuhXIQLTflQDuELWP6puUmWkx-0-09b66ef32932ad6fb8933490a17bf9bf)
再次查看MySQL服务是否自启动,结果如下所示。此时状态变为“disabled”,表示当前MySQL服务不处于自启动状态。
![](https://epubservercos.yuewen.com/3ACC63/31457377104917306/epubprivate/OEBPS/Images/txt001_30.jpg?sign=1739574349-4OcG4hwfAX00DgXJAQ7yf7PkZyZA7AwT-0-4bf804b81ac57ecc8ea3be87ff5e3c78)