当前位置: 首页 > 科技观察

在没有外网环境的CentOS7上安装MySQL5.7.18

时间:2023-03-15 18:39:49 科技观察

由于工作需要,需要在装有CentOS系统的测试服务器上安装MySQL。由于这台服务器上还有其他重要的测试数据,所以无法连接外网。由于之前安装MySQL一直都是使用yum命令一键完成,手动安装还是有点麻烦。所以这里记录下我在安装过程中遇到的一些问题。在我开始之前,我不得不抱怨。网上有些教程真的很坑爹。教程都是直接从别人那里复制粘贴的,没有写环境,也没有版本号说明。只是看着它就很热。本文安装的MySQL是安装最基本的功能。如需安装其他附加功能,请查看官方文档。本文适用于服务器无法联网时的安装运行。安装环境说明以下是我在写这篇文章时使用的一些环境说明。其他版本的环境,我没有测试过,所以不保证一定能成功,但是小版本号的区别应该没有问题。项目版本描述操作系统CentOS7.2.1511x86_64最小安装MySQLCommunity5.7.18-1.el7.x86_64rpm包注意:您可以使用cat/etc/redhat-release命令来确定您安装的CentOS的具体版本。准备工作下载MySQL安装包。这里推荐使用搜狐的镜像站点下载,因为从MySQL官网下载的速度实在是太赞了。从镜像地址选择对应的版本号下载即可。我这里使用的rpm包有以下4个:mysql-community-client-5.7.18-1.el7.x86_64.rpmmysql-community-common-5.7.18-1.el7.x86_64.rpmmysql-community-libs-5.7.18-1.el7.x86_64.rpmmysql-community-server-5.7.18-1.el7.x86_64.rpm需要以上四个rpm包。如果需要其他功能,可以自行下载。以当前版本为例,包含所有rpm包的文件为mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar下载numactl包:numactl-2.0.9-6.el7_2.x86_64.rpmnumactl-devel-2.0.9-6.el7_2.x86_64.rpmnumactl-libs-2.0.9-6.el7_2.x86_64.rpm下载其他相关支持:perl-Data-Dumper-2.145-3.el7.x86_64.rpmlibaio-0.3.109-13.el7.x86_64.rpm以上软件包后面会用到,请提前准备。这个软件包可以直接在网上搜索下载。这里有一个下载地址。下载地址可以直接在搜索框搜索。下载时注意版本号和位数(64位)。将下载好的软件包一起上传到服务器。上,准备安装。安装以下只是我的安装顺序。其实这些包的安装顺序并没有太多明确的要求。不一定要按照下面的顺序安装,但是可能会有一些相关的依赖问题。如果抛出依赖相关的错误,只要安装上面对应的依赖再试。安装libaio-0.3.109-13.el7.x86_64.rpmrpm-ivhlibaio-0.3.109-13.el7.x86_64.rpm安装perl-Data-Dumper-2.145-3.el7.x86_64.rpmrpm-ivhperl-Data-Dumper-2.145-3.el7.x86_64.rpm我在安装以上两项时没有遇到依赖问题。如果在实际安装过程中遇到,请查看相关提示,下载相应的包进行安装。安装numactl相关的rpm-ivhnumactl*如果没有安装这个包,我们会得到如下错误error:Faileddependencies:libnuma.so.1()(64bit)isneededbymysql-community-server-5.7.18-1.el7。mysql-community-server-5.7.18-1.el7.x86_64libnuma.so.1(libnuma_1.1)(64bit)需要mysql-community-server-5.7.18-1.el7.x86_64libnuma.so.1(libnuma_1.2)(64bit)1.el7.x86_64如果此时直接安装mysql,我们会得到一个异常:warning:mysql-community-libs-5.7.18-1.el7.x86_64.rpm:HeaderV3DSA/SHA1Signature,keyID5072e1f5:NOKEYerror:Faileddependencies:mysql-community-common(x86-64)>=5.7.9isneededbymysql-community-libs-5.7.18-1.el7.x86_64mariadb-libsisobsoletedbymysql-community-libs-5.7.18-1.el7.x86_64***行还是能看清楚,是依赖问题,第二行的“mariadb-libsisobsolete”是什么鬼?为什么这个***提示在过时后还没有提供新的提示呢?经过一番查找,发现是因为在CentOS7上已经有了mariadb,这会和MySQL的mariadb冲突。所以这时候我们需要卸载系统自带的mariadb,然后使用mysql自带的mariadb。我们先查看一下系统rpm-qa|安装的版本grepmariadb,然后卸载它。卸载过程中会提示无法卸载,因为其他软件依赖这个包。我们需要加上--nodeps参数强制卸载rpm-e--nodepsmariadb-libs-5.5.37-1.el7_0.x86_64注意我写的mariadb-libs-5.5.37-1.el7_0.x86_64以上是我用rpm-qa|检查的结果grep玛丽亚布。版本可能不同。解决这个问题后,就可以安装mysql了,rpm-ivhmysql-community-*即可。开始使用servicemysqldstart命令启动mysql实例。为了验证,我们使用servicemysqldstatus来验证。输出如下:Redirectingto/bin/systemctlstatusmysqld.serviceMysqld.service-MySQLServerLoaded:loaded(/usr/lib/systemd/system/mysqld.service;enabled;vendorpreset:disabled)Active:active(running)自周一2017-07-0315:39:02CST;5sagoDocs:man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess:28054ExecStart=/usr/sbin/mysqld--daemonize--pid-file=/var/run/mysqld/mysqld.pid$MYSQLD_OPTS(code=exited,status=0/SUCCESS)Process:27978ExecStartPre=/usr/bin/mysqld_pre_systemd(code=exited,status=0/SUCCESS)MainPID:28056(mysqld)CGroup:/system.slice/mysqld.service└─28056/usr/sbin/mysqld--daemonize--pid-file=/var/run/mysqld/mysqld.pidJul0315:38:57nodemastersystemd[1]:启动MySQL服务器...7月3日15:39:02nodemastersystemd[1]:启动MySQL服务器。登录时我们使用mysql-uroot,会提示输入密码,密码保存在/var/log/mysqld.log文件中,由系统自动生成。我们可以使用cat/var/log/mysqld.log|greppassword命令找出密码,然后填写,登录,登录后修改密码。这些操作在官方文档中都有详细的描述,大家可以自行查看。以上内容最后如有不当之处,请指出,我会尽最大努力在***时间内修改。

最新推荐
猜你喜欢