使用标准源分发安装MySQL
要从标准源代码分发安装MySQL:
验证您的系统是否满足“从源安装MySQL”中列出的工具要求。
使用“如何获取MySQL”中的说明获取分发文件 。
使用本节中的说明配置,构建和安装分发。
使用“安装后设置和测试”中的说明执行安装后过程 。
在MySQL 8.0中,CMake用作所有平台上的构建框架。
从源代码构建MySQL使您可以自定义构建参数,编译器优化和安装位置。有关运行MySQL的系统列表,请参阅https://www.mysql.com/support/supportedplatforms/database.html。
警告
使用非标准选项构建MySQL可能会导致功能,性能或安全性降低。
源安装方法
从源代码安装MySQL有两种方法:
使用标准的MySQL源代码分发。要获得标准分发,请参见第2.1.2节“如何获取MySQL”。有关从标准分发构建的说明,请参见 第2.9.2节“使用标准源分发安装MySQL”。
标准发行版可用作压缩tar文件,Zip 压缩 文件或RPM包。分发文件有名字的形式 , 或者 ,在那里是一个数字一样 。源分发的文件名可以与预编译的二进制分发的文件名区别开来,因为源分发名称是通用的并且不包括平台名称,而二进制分发名称包括指示分发所针对的系统类型的平台名称(例如, 或)。
mysql-
VERSION
.tar.gzmysql-
VERSION
.zipmysql-
VERSION
.rpmVERSION
8.0.15
pc-linux-i686
winx64
使用MySQL开发源。有关从其中一个开发源构建的信息,请参见 第2.9.3节“使用开发源安装MySQL”。
源安装系统要求
从源代码安装MySQL需要几个开发工具。无论您使用标准源代码分发还是开发源代码树,都需要其中一些工具。其他工具要求取决于您使用的安装方法。
要从源安装MySQL,无论安装方法如何,都必须满足以下系统要求:
CMake,用作所有平台上的构建框架。CMake可以从 http://www.cmake.org下载。
一个很好的制作程序。虽然某些平台有自己的make实现,但强烈建议您使用GNU make 3.75或更高版本。它可能已作为gmake在您的系统上提供 。GNU make可从http://www.gnu.org/software/make/获得。
MySQL 8.0源代码允许使用C ++ 14特性。要在所有支持的平台上提供良好的C ++ 14支持,以下最低编译器版本适用:
GCC 5.3(Linux)
Clang 4.0(FreeBSD)
XCode 9(MacOS)
Developer Studio 12.6(Solaris)
Visual Studio 2017(Windows)
MySQL C API需要C ++或C99编译器才能编译。
构建MySQL需要Boost C ++库(但不能使用它)。MySQL编译需要特定的Boost版本。通常,这是当前的Boost版本,但如果特定的MySQL源代码分发需要不同的版本,配置过程将停止,并显示一条消息,指示它需要的Boost版本。要获取Boost及其安装说明,请访问 官方网站。安装Boost后,通过
WITH_BOOST
在调用CMake时定义选项 ,告诉构建系统Boost文件所在的位置 。例如:cmake . -DWITH_BOOST=/usr/local/boost_version_number
根据需要调整路径以匹配您的安装。
ncurses库。
足够的空闲记忆。如果在编译大型源文件时遇到诸如“ 内部编译器错误 ”之类的问题 ,则可能是内存太少。如果在虚拟机上进行编译,请尝试增加内存分配。
如果您打算运行测试脚本,则需要Perl。大多数类Unix系统都包含Perl。在Windows上,您可以使用ActiveState Perl等版本。
要从标准源代码分发安装MySQL,需要使用以下工具之一来解压缩分发文件:
对于
.tar.gz
压缩的 tar文件:GNUgunzip
来解压缩分发和合理的 tar来解压缩它。如果您的 tar程序支持该z
选项,它可以解压缩和解压缩文件。已知 GNU tar可以工作。某些操作系统提供的标准 tar无法解析MySQL发行版中的长文件名。您应该下载并安装GNU tar,或者如果可用,请使用预安装的GNU tar版本。通常这可以作为 gnutar,gtar或 GNU或自由软件目录中的tar使用,例如
/usr/sfw/bin
或/usr/local/bin
。GNU tar 可从 http://www.gnu.org/software/tar/获得。对于
.zip
Zip存档: WinZip或其他可以读取.zip
文件的工具 。对于
.rpm
RPM包:用于构建分发的 rpmbuild程序将其解包。
要从开发源代码树安装MySQL,需要以下附加工具:
需要Git版本控制系统来获取开发源代码。在 GitHub的帮助 提供了下载和在不同的平台上安装Git的指令。MySQL于2014年9月正式加入GitHub。有关MySQL迁移到GitHub的更多信息,请参阅MySQL Release Engineering博客上的公告:GitHub上的MySQL
bison 2.1或更高版本,可从 http://www.gnu.org/software/bison/获得。(不再支持版本1.)尽可能使用最新版本的 bison ; 如果遇到问题,请升级到更高版本,而不是恢复到更早版本。
bison可从 http://www.gnu.org/software/bison/获得。
bison
for Windows可以从 http://gnuwin32.sourceforge.net/packages/bison.htm下载 。下载标有 “ 完整包,不包括来源 ”的包裹。在Windows上, bison的默认位置 是C:\Program Files\GnuWin32
目录。由于目录名称中的空间,某些实用程序可能无法找到 bison。此外,如果路径中有空格,Visual Studio可能会挂起。您可以通过安装到不包含空格的目录来解决这些问题; 例如C:\GnuWin32
。在Solaris Express上,除了bison之外,还必须安装m4。m4可从http://www.gnu.org/software/m4/获得。
有关MySQL下载镜像站点的完整最新列表:可从 https://dev.mysql.com/downloads/mirrors/获得
按照以上官网所需要求,CentOS 7安装MySQL 8.0所需环境如下:
CMake #编译安装
make 3.75或更高版本 #编译安装
GCC 5.3(Linux) #编译安装见GCC8.2编译安装
Boost C ++库 #使用mysql-boost自带
ncurses库 #yum安装
bison 2.1或更高版本 #yum安装
配置MySQL编译安装前之环境
#!/bin/sh
yum -y install wget ncurses ncurses-devel bison bison-devel
wget -c -P /opt/tmp/ http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-8.0/mysql-boost-8.0.13.tar.gz
wget -c -P /opt/tmp/ https://cmake.org/files/v3.12/cmake-3.12.4.tar.gz
wget -c -P /opt/tmp/ http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
cd /opt/tmp/
tar zxvf cmake-3.12.4.tar.gz
cd cmake-3.12.4
./bootstrap
gmake
gmake install
cd ../
tar zxvf make-4.2.tar.gz
cd make-4.2
./configure
make
make install
cd ../
rpm -qa|grep make
yum remove make
sed -i '$a export PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"' /etc/profile
source /etc/profile
完成以上配置环境即可正式开始安装MySQL
安装Mysql之前应卸载原有的版本
查询Mysql目录文件 卸载原有MySQL
# rpm -qa | grep mysql
# find / -name mysql
# yum remove -y mysql*
# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> mkdir bld
shell> cd bld
shell> cmake ..
shell> make
shell> make
install# End of source-build specific instructions
# Postinstallation setup
shell> cd /usr/local/mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server