Centos7.5源码安装MySQL5.7
(一)、MySQL 5.7的主要特性
MySQL 5.7的主要特性:
- 原生支持Systemd
- 更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化
- 更好的InnoDB存储引擎
- 更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。
- 注: mysql-5.6.3已经支持了多线程的主从复制
- 新增sys库:以后这会是DBA访问最频繁的库
MySQL官网:https://www.mysql.com/
(二)、源码安装
一、下载MySQL的相关安装包
1.系统环境:centos7.5 x86_64
[root@MySQL ~]# uname -r
3.10.0-862.el7.x86_64
[root@MySQL ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
因为centos7.2默认安装了mariadb-libs,所以先要卸载掉
查看是否安装mariadb
rpm-qa l grep mariadb
卸载mariadb
rpm -e --nodeps mariadb-libs
[root@MySQL ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@MySQL ~]# rpm -e mariadb-libs --nodeps
[root@MySQL ~]# rpm -qa |grep mariadb
[root@MySQL ~]#
2.安装依赖包
(1)相关依赖包的作用
-
cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要CMake编译器,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。
-
Boost:从MySQL 5.7.5开始Boost库是必需的,mysql源码中用到了C++的Boost库,要求必须安装boost1.59.0或以上版本
-
GCC:是Linux下的C语言编译工具,mysql源码编译完全由C和CH编写,要求必须安装GCC
-
bison:Linux 下C/C++语法分析器
-
ncurses:字符终端处理库
(2)安装文件准备
1)下载mysq1-5.7.31.tar.gz
登录mysql官网https://dev.mysql.com,单击“DOWNLOADS”
点击“MySQL Community (GPL) Downloads »”
选择“MySQL Community Server”
当前最新的版本为MySQL Community Server 8.0.21,但是企业中使用5.7的比较多
查找以前的版本,单击“[Looking for previous GA versions? ”
Select Version:5.7.31;
Select Operating System:Source Code ;
Select OS Version:All
选择“Generic Linux (Architecture Independent), Compressed TAR Archive(mysql-5.7.31.tar.gz)”,点击“Download”
选择“No thanks, just start my download.”
完整下载链接:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31.tar.gz
2)下载cmake-3.18.1.tar.gz
登录cmake官网https://cmake.org/,单击“Dwonload”
选择最新版本“Unix/Linux Source (has in line feeds) cmake-3.18.1.tar.gz”
完整下载链接:https://github.com/Kitware/CMake/releases/download/v3.18.1/cmake-3.18.1.tar.gz
3)下载bison-3.6.3.tar.gz
百度搜索bison,点击“Bison - GNU Project - Free Software Foundation”
打开网址http://www.gnu.org/software/bison/
选择“Downloading Bison”下的,Bison可以在主GNU ftp服务器上找到:http://ftp.gnu.org/gnu/bison/
选择较新的版本bison-3.6.3.tar.gz
完整下载链接:http://ftp.gnu.org/gnu/bison/bison-3.6.3.tar.gz
4)下载ncurses-6.2.tar.gz
百度搜索ncurses,点击“Index of /pub/gnu/ncurses”
打开网址http://ftp.gnu.org/pub/gnu/ncurses/
选择“ncurses-6.2.tar.gz 2020-02-12 04:54 3.3M”
完整下载链接:http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.2.tar.gz
5)下载Boost_1_59_0.tar.gz
不能下载最新版本,因为MySQL 5.7使用的是1.59的库
百度搜索boost1_59,点击“boost version 1.59.0”
打开网址https://www.boost.org/users/history/version_1_59_0.html
点击“unix boost_1_59_0.tar.gz”
完整下载链接:https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
二、开始安装
1.将软件包使用xshell上传至centos7.5中
创建储存安装包的文件夹
[root@MySQL ~]# cd /opt
[root@MySQL opt]# ls
[root@MySQL opt]# mkdir mysql_install
[root@MySQL opt]# cd mysql_install/
[root@MySQL mysql_install]#
显示如下结果表示没有安装rz
[root@MySQL mysql_install]# rz -E
-bash: rz: command not found
安装rz和sz功能(下载:sz 文件 ;上传:rz -y 文件 )
[root@MySQL mysql_install]# yum -y install lrzsz
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
//文件过长,省略部分内容
Installed:
lrzsz.x86_64 0:0.12.20-36.el7
Complete!
[root@MySQL mysql_install]#
查看lrzsz是否已经安装
[root@MySQL mysql_install]# rpm -qa | grep lrzsz
lrzsz-0.12.20-36.el7.x86_64
[root@MySQL mysql_install]#
上传安装包
[root@MySQL mysql_install]# ll
total 151536
-rw-r--r-- 1 root root 4639293 Aug 13 07:19 bison-3.6.3.tar.gz
-rw-r--r-- 1 root root 83709983 Aug 13 07:44 boost_1_59_0.tar.gz
-rw-r--r-- 1 root root 8969366 Aug 13 07:03 cmake-3.18.1.tar.gz
-rw-r--r-- 1 root root 54418341 Aug 13 06:49 mysql-5.7.31.tar.gz
-rw-r--r-- 1 root root 3425862 Aug 13 07:34 ncurses-6.2.tar.gz
[root@MySQL mysql_install]#
2.安装cmake
(1)开始安装
[root@MySQL mysql_install]# tar zxf cmake-3.18.1.tar.gz //解压
[root@MySQL mysql_install]# cd cmake-3.18.1/ //切换目录
[root@MySQL cmake-3.18.1]# ./bootstrap //使用bootstrap编译安装
---------------------------------------------
CMake 3.18.1, Copyright 2000-2020 Kitware, Inc. and Contributors
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C compiler on this system.
Please specify one using environment variable CC.
See cmake_bootstrap.log for compilers attempted.
#引导CMake时出错:在这个系统上找不到合适的C编译器。请使用环境变量指定一个。请参阅cmake_bootstrap.log了解所尝试的编译器。
---------------------------------------------
Log of errors: /opt/mysql_install/cmake-3.18.1/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------
#此时报错:因为服务器没有安装c编译器
(2)安装gcc编译器
[root@MySQL cmake-3.18.1]# gcc -v //查看服务器是否已安装gcc编译器
-bash: gcc: command not found
[root@MySQL cmake-3.18.1]# yum install gcc //安装gcc编译器
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
#内容过长,省略部分内容
Install 1 Package (+6 Dependent packages)
Upgrade ( 4 Dependent packages)
Total download size: 48 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
#内容过长,省略部分内容
Installed:
gcc.x86_64 0:4.8.5-39.el7
Dependency Installed:
cpp.x86_64 0:4.8.5-39.el7 glibc-devel.x86_64 0:2.17-307.el7.1 glibc-headers.x86_64 0:2.17-307.el7.1
kernel-headers.x86_64 0:3.10.0-1127.18.2.el7 libmpc.x86_64 0:1.0.1-3.el7 mpfr.x86_64 0:3.1.1-4.el7
Dependency Updated:
glibc.x86_64 0:2.17-307.el7.1 glibc-common.x86_64 0:2.17-307.el7.1 libgcc.x86_64 0:4.8.5-39.el7 libgomp.x86_64 0:4.8.5-39.el7
Complete!