为大家详细介绍redhat8中Mysql源码编译安装具体步骤,以便需要部署的伙伴参考学习。为尽可能详细,考虑篇幅原因整个内容会拆分为两部分,上篇为:redhat8中Mysql源码编译安装之环境准备工作,下篇为:redhat8中Mysql源码编译安装之编译安装实践。#MySQL专栏#
MySQL源码包下载
之前介绍过mysql的各个版本区别以及软件包的具体获取方式,感兴趣的伙伴可以参考:「MySQL专栏」详解MySQL软件包及其安装包获取方式。
安装前基础环境准备
这里以redhat8操作系统+MySQL5.7.34(sourcecode)为例,在redhat操作系统中我们需要做以下的准备工作。
1、配置yum源
源码编译安装需要gcc、cmake等依赖包组件,而安装前我们需要配置yum源,这样才能完成安装。这里介绍一种本地yum配置,详细参考:「linux专栏」redhat8中挂载本地系统镜像盘作为yum源的具体方法。
2、安装依赖包
直接执行以下命令完成依赖包安装。
yuminstallvimgitgccgcc-c++wgetmakecmakeautomakeautoconflibaiolibtoolnet-toolsbisonbison-devellibaio-develncurses-develperl-Data-Dumper-y
--以上建议每个依赖包分开安装,不然实际可能安装不上
--经验告诉你还需要补充安装这两个依赖包组件
yuminstall-yopenssl-devel
yuminstall-ylibtirpc-devel
--rpcsvc依赖包也需要安装,不然可能后期编译报错,具体参考「MySQL专栏」Mysql源码编译报错:Couldnotfindrpcgen解决方案
3、关闭防火墙:为了确保安装过程中不受防火墙的影响,可以暂时性关闭所有的防火墙,包括selinux、Firewalld、iptables。当然,如果环境中不需要防火墙,可以考虑直接禁用。
临时性禁用方法(重启失效)
setenforce0
systemctlstopfirewalld.service/iptables.service
永久禁用(重启生效)
/etc/selinux/config文件,修改:SELINUX=disabled
systemctldisablefirewalld/iptables.service
Mysql软件安装
1、创建mysql用户和组,创建mysql规划路径,赋权
[root
localhostmysqlsetup]#groupaddmysql[root
localhostmysqlsetup]#useradd-d/home/mysql-gmysql-mmysql[root
localhostmysqlsetup]#passwdmysqlChangingpasswordforusermysql.
Newpassword:
BADPASSWORD:Thepasswordfailsthedictionarycheck-itisbasedonadictionaryword
Retypenewpassword:
passwd:allauthenticationtokensupdatedsuccessfully.
[root
localhostmysqlsetup]#mkdir-p/soft/mysql/dbdat/mysql57_[root
localhostmysqlsetup]#mkdir-p/soft/mysql/binlog/mysql57_[root
localhostmysqlsetup]#mkdir-p/soft/mysql/conf/mysql[root
localhostmysqlsetup]#mkdir-p/soft/mysql/logs/mysql[root
localhostmysqlsetup]#mkdir-p/soft/mysql/svr/mysql57[root
localhostmysqlsetup]#mkdir-p/soft/mysql/tmp[root
localhostmysqlsetup]#mkdir-p/soft/mysql/run[root
localhostmysqlsetup]#mkdir-p/soft/mysql/sh/tool[root
localhostmysqlsetup]#mkdir-p/soft/mysql/rpm[root
localhostmysqlsetup]#chown-Rmysql:mysql/soft/mysql[root
localhostmysqlsetup]#chmod-R/soft/mysql2、设置mysql环境变量
[root
localhostmysqlsetup]#sumysql[mysql
localhostmysqlsetup]$cd[mysql
localhost~]$vi.bash_profile--添加以下内容
#mysqlconfigs
export.UTF-8
exportPATH=$PATH:/usr/sbin:/soft/mysql/svr/mysql57/bin:/soft/mysql/sh/tool
~/.mysql_history
[mysql
localhost~]$source/home/mysql/.bash_profile[mysql
localhost~]$3、设置linux系统limits.conf文件
vi/etc/security/limits.conf
--添加以下内容
mysqlhardnofile
mysqlsoftnofile
以上为redhat8中Mysql源码编译安装的整体环境准备工作,具体的编译安装过程请参考下篇:redhat8中Mysql源码编译安装之编译安装实践。