如何用源码编译安装MySQL8.0.20-创新互联

这篇文章主要讲解了如何用源码编译安装MySQL8.0.20,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联-专业网站定制、快速模板网站建设、高性价比和布克赛尔蒙古网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式和布克赛尔蒙古网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖和布克赛尔蒙古地区。费用合理售后完善,10多年实体公司更值得信赖。

1 概述

本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装

2 源码编译安装的相关知识

2.1 make与configure

make是一个编译的命令,会在当前的目录下寻找Makefile这个文件,Makefile文件记录了源代码如何编译的详细信息。而configure是由软件开发商编写的一个检测程序检测用户的开发环境,检测完毕后生成Makefile文件。通常,configure会检测如下内容:

  • 是否具有合适的编译器
  • 是否具有所需函数库以及其他依赖
  • 是否兼容本系统
  • 是否存在内核头文件

2.2 Tarball文件

Tarball文件其实就是将源代码以tar打后压缩的文件。通常使用gzip进行压缩,一般扩展名为.tar.gz或.tgz,不过由于bzip2以及xz等技术压缩效果比gzip好,因此文件名也会变成扩展名也会变成.tar.bz2或.tar.xz之类的。通常一个Tarball文件有:

  • 源码
  • 检测文件(configure/config)
  • 说明(README/INSTALL)

2.3 源码编译安装相关组件

2.3.1 编译器

需要有编译器才能进行编译操作,通常使用的是gcc。

2.3.2 make+autoconfig

以Tarball形式发布的软件,为了简化编译流程,通常需要make来根据目标文件文件的依赖性进行编译,但是由于make需要Makefile,因此需要autoconfig生成Makefile。

2.3.3 函数库

需要内核提供的库以及相关的include文件。

2.4 静态库与动态库

函数库分为动态库与静态库两种类型,绝大部分放在/lib与/lib64中。

2.4.1 静态库

扩展名为.a,编译时会直接整合到执行程序中,所以利用静态库生成的文件会比较大一些,编译后的可执行文件可以直接运行,无需依赖外部函数库。另外升级难度较大,因为是直接整合进程序中,升级了静态库的话需要重新编译。

2.4.2 动态库

扩展名为.so,在编译时不像静态库一样,动态库在程序中只有一个指针,当可执行程序需要用到函数库的功能时,才会读取函数库来使用,生成的可执行文件会比较小一点,但是不能独立执行编译出来的程序。另外升级比较方便,不需要重新编译,因为执行文件会直接指向新的函数库文件。

2.5 编译安装的一般步骤

  • (1)获取源码:一般使用wget或curl或从浏览器下载。
  • (2)查看帮助文件:解压后查看INSTALL或README等文件相关内容
  • (3)安装依赖:根据官网文档或上一步中得到的信息安装依赖
  • (4)生成Makefile:一般使用configure/config进行配置,检测操作环境,指定安装位置,开启/关闭对应的功能,指定相关库位置等,确定依赖关系等,一般需要使用–help获取选项帮助,指定对应选项后配置并生成Makefile
  • (5)编译:实际编译步骤,一个简单的make命令,实际包含了头文件预编译,预处理,编译与连接步骤
  • (6)安装:make install,这一步实际进行安装与操作系统连接两个步骤

注意,以上步骤都是有顺序的,而且前一个步骤执行失败则后一个步骤也不能执行,也就是说需要前一个步骤执行成功才能进行下一步的操作。完成以上六步就能编译安装了,一般需要进行一些后续处理,比如,添加可执行文件路径到PATH,添加头文件与库文件到/usr/include与/etc/ld.so.conf.d中,添加联机帮助文件到/etc/man_db.conf中。

2.6 编译安装前的心理准备

这里是最后的提示了,未安装之前还可以ctrl+w关闭本页面,避免无数的痛苦。
编译安装最常见的问题就是版本与依赖的问题,版本问题容易处理,可以通过包管理器进行升级或者手动升级,至于依赖问题,包管理器安装的话很容易,编译安装的话会非常头疼,因为不知道某个依赖下面还需要安装多少个依赖。
所以,需要准备充足的时间,还有充分的耐心,去解决无数的问题,才能成功进行编译安装MySQL与Workbench这种大型软件。
不废话了,开始吧。

3 安装MySQL

3.1 安装依赖

MySQL所需依赖如下:

  • cmake
  • make(推荐3.75以上)
  • 编译器(GCC5.3+或Clang4.0+或XCode9+或Developer Studio12.6+或Visual Studio2017)
  • SSL库(默认使用系统的OpenSSL)
  • Boost C++库,需要用来构建但不需要使用,无需安装,源码即可
  • ncurses库
  • bison2.1+
  • git

3.2 包管理器安装

笔者的Debian系,使用apt即可:

sudo apt-get install -y bison
 git hostname 
libncurses-dev 
libssl-dev make 
openssl pkg-config 
doxygen cmake make

本文名称:如何用源码编译安装MySQL8.0.20-创新互联
标题URL:http://pwwzsj.com/article/pcshi.html