首页 / 数据库 / MySQL / MySQL 5.7.9源码编译安装说明
一、环境说明1.操作系统系统版本:RHEL 6.3 X64操作系统安装类型:Basic系统安装包:gcc gcc-c++ bzip2(default) bzip2-devel bzip2-libs(default) python-devel ncurses-devel bison1)gcc gcc-c++[root@mdb01 Packages]# rpm -ivh kernel-headers-2.6.32-279.el6.x86_64.rpmwarning: kernel-headers-2.6.32-279.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:kernel-headers ########################################### [100%][root@mdb01 Packages]# rpm -ivh glibc-headers-2.12-1.80.el6.x86_64.rpmwarning: glibc-headers-2.12-1.80.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:glibc-headers ########################################### [100%][root@mdb01 Packages]# rpm -ivh glibc-devel-2.12-1.80.el6.x86_64.rpmwarning: glibc-devel-2.12-1.80.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:glibc-devel ########################################### [100%] [root@mdb01 Packages]# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpmwarning: mpfr-2.4.1-6.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:mpfr ########################################### [100%][root@mdb01 Packages]# rpm -ivh cpp-4.4.6-4.el6.x86_64.rpmwarning: cpp-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:cpp ########################################### [100%][root@mdb01 Packages]# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpmwarning: ppl-0.10.2-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:ppl ########################################### [100%][root@mdb01 Packages]# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpmwarning: cloog-ppl-0.15.7-1.2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:cloog-ppl ########################################### [100%][root@mdb01 Packages]# rpm -ivh gcc-4.4.6-4.el6.x86_64.rpmwarning: gcc-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:gcc ########################################### [100%][root@mdb01 Packages]# rpm -ivh libstdc++-devel-4.4.6-4.el6.x86_64.rpmwarning: libstdc++-devel-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:libstdc++-devel ########################################### [100%][root@mdb01 Packages]# rpm -ivh gcc-c++-4.4.6-4.el6.x86_64.rpmwarning: gcc-c++-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:gcc-c++ ########################################### [100%] 2)bzip2-devel python-devel [root@mdb01 Packages]# rpm -ivh bzip2-devel-1.0.5-7.el6_0.x86_64.rpmwarning: bzip2-devel-1.0.5-7.el6_0.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:bzip2-devel ########################################### [100%][root@mdb01 Packages]# rpm -ivh python-devel-2.6.6-29.el6_2.2.x86_64.rpmwarning: python-devel-2.6.6-29.el6_2.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:python-devel ########################################### [100%][root@mdb01 Packages]# Boost系统相关包安装检查 [root@mdb01 Packages]# rpm -q gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-develgcc-4.4.6-4.el6.x86_64gcc-c++-4.4.6-4.el6.x86_64bzip2-1.0.5-7.el6_0.x86_64bzip2-devel-1.0.5-7.el6_0.x86_64bzip2-libs-1.0.5-7.el6_0.x86_64python-devel-2.6.6-29.el6_2.2.x86_64[root@mdb01 Packages]#二.cmake-3.3.2 # ./bootstrap # make # make install 三.boost_1_59_01.预编译配置[root@mdb01 boost_1_59_0]# ./bootstrap.shBuilding Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2Detecting Python version... 2.6Detecting Python root... /usrUnicode/ICU support for Boost.Regex?... not found.Generating Boost.Build configuration in project-config.jam... Bootstrapping is done. To build, run: ./b2 To adjust configuration, edit "project-config.jam".Further information: - Command line help: ./b2 --help - Getting started guide: http://www.boost.org/more/getting_started/unix-variants.html - Boost.Build documentation: http://www.boost.org/build/doc/html/index.html [root@mdb01 boost_1_59_0]#2.编译[root@rhel6 boost_1_59_0]#./b2 ...................... ...on 1100th target...gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/wave_config_constant.ocommon.mkdir bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexercommon.mkdir bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexer/re2clexgcc.compile.c++ bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexer/re2clex/aq.ogcc.compile.c++ bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexer/re2clex/cpp_re.ogcc.archive bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/libboost_wave.acommon.copy stage/lib/libboost_wave.a...updated 1107 targets... The Boost C++ Libraries were successfully built! (表示编译成功) The following directory should be added to compiler include paths: /home/soft/boost_1_59_0 The following directory should be added to linker library paths: /home/soft/boost_1_59_0/stage/lib3.安装[root@mdb01 boost_1_59_0]#./b2 install ......................common.copy /usr/local/lib/libboost_signals.so.1.59.0ln-UNIX /usr/local/lib/libboost_signals.socommon.copy /usr/local/lib/libboost_timer.so.1.59.0ln-UNIX /usr/local/lib/libboost_timer.socommon.copy /usr/local/lib/libboost_prg_exec_monitor.so.1.59.0ln-UNIX /usr/local/lib/libboost_prg_exec_monitor.socommon.copy /usr/local/lib/libboost_unit_test_framework.so.1.59.0ln-UNIX /usr/local/lib/libboost_unit_test_framework.socommon.copy /usr/local/lib/libboost_wave.so.1.59.0ln-UNIX /usr/local/lib/libboost_wave.socommon.copy /usr/local/lib/libboost_exception.acommon.copy /usr/local/lib/libboost_system.acommon.copy /usr/local/lib/libboost_chrono.acommon.copy /usr/local/lib/libboost_timer.acommon.copy /usr/local/lib/libboost_test_exec_monitor.a...updated 11816 targets...[root@mdb01 boost_1_59_0]# 四.mysql1.MySQL源码安装系统需求Source Installation System Requirements Installation of MySQL from source requires several development tools. Some of these tools are needed no matter whether you use a standard source distribution or a development source tree. Other tool requirements depend on which installation method you use. To install MySQL from source, your system must have the following tools, regardless of installation method: * CMake, which is used as the build framework on all platforms. CMake can be downloaded from http://www.cmake.org. * A good make program. Although some platforms come with their own make implementations, it is highly recommended that you use GNU make 3.75 or newer. It may already be available on your system as gmake. GNU make is available from http://www.gnu.org/software/make/. * A working ANSI C++ compiler. GCC 4.4.6 or later, Clang 3.3 or later (FreeBSD and OS X), Visual Studio 2013 or later, and many current vendor-supplied compilers are known to work. * Perl is needed if you intend to run test scripts. Most Unix-like systems include Perl. On Windows, you can use a version such as ActiveState Perl.2.检查系统包版本1) cmake [root@mdb01 cmake-3.3.2]# cmake --versioncmake version 3.3.2 CMake suite maintained and supported by Kitware (kitware.com/cmake).[root@mdb01 cmake-3.3.2]#2) make[root@mdb01 cmake-3.3.2]# make -vGNU Make 3.81Copyright (C) 2006 Free Software Foundation, Inc.This is free software; see the source for copying conditions.There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. This program built for x86_64-RedHat-linux-gnu3) gcc[root@mdb01 cmake-3.3.2]# gcc -vUsing built-in specs.Target: x86_64-redhat-linuxConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linuxThread model: posixgcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)[root@mdb01 cmake-3.3.2]#4) perl[root@mdb01 cmake-3.3.2]# perl -v This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi Copyright 1987-2009, Larry Wall Perl may be copied only under the terms of either the Artistic License or theGNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found onthis system using "man perl" or "perldoc perl". If you have access to theInternet, point your browser at http://www.perl.org/, the Perl Home Page. [root@mdb01 cmake-3.3.2]# 5) 其它系统包 ncurses-devel bison [root@mdb01 Packages]# rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpmwarning: ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:ncurses-devel ########################################### [100%][root@mdb01 Packages]# rpm -ivh bison-2.4.1-5.el6.x86_64.rpmwarning: bison-2.4.1-5.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing... ########################################### [100%] 1:bison ########################################### [100%][root@mdb01 Packages]#3.安装前配置# Preconfiguration setup[root@mdb01 soft]# groupadd mysql[root@mdb01 soft]# useradd -r -g mysql mysql# Beginning of source-build specific instructions[root@mdb01 soft]# tar zxvf mysql-5.7.9.tar.gz[root@mdb01 soft]# cd mysql-5.7.94.配置安装项[root@mdb01 mysql-5.7.9]# cmake > -DCMAKE_INSTALL_PREFIX=/opt/mysql > -DMYSQL_DATADIR=/opt/mysql/data > -DSYSCONFDIR=/etc > -DWITH_MYISAM_STORAGE_ENGINE=1 > -DWITH_INNOBASE_STORAGE_ENGINE=1 > -DWITH_PARTITION_STORAGE_ENGINE=1 > -DMYSQL_UNIX_ADDR=/opt/mysql/mysql.sock > -DMYSQL_TCP_PORT=3306 > -DENABLED_LOCAL_INFILE=1 > -DEXTRA_CHARSETS=all > -DDEFAULT_CHARSET=utf8 > -DDEFAULT_COLLATION=utf8_general_ci 5.编译MySQL[root@mdb01 mysql-5.7.9]# make 6.安装MySQL[root@mdb01 mysql-5.7.9]# make install# End of source-build specific instructions 五、安装后配置# Postinstallation setup1.目录权限shell> cd /opt/mysqlshell> chown -R mysql .shell> chgrp -R mysql .2.初始化数据库shell> bin/mysql_install_db --user=mysql # Before MySQL 5.7.6shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up执行结果:[root@mdb01 mysql]# bin/mysqld --initialize --user=mysql2015-10-29T21:58:57.465483Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2015-10-29T21:58:59.889999Z 0 [Warning] InnoDB: New log files created, LSN=457902015-10-29T21:59:00.201432Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2015-10-29T21:59:00.398966Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 42ad8740-7e88-11e5-83de-000c29270868.2015-10-29T21:59:00.406427Z 0 [Warning] Gtid table is not ready to be used. Table "mysql.gtid_executed" cannot be opened.2015-10-29T21:59:00.424627Z 1 [Note] A temporary password is generated for root@localhost: Ek&!sA9(qYds[root@mdb01 mysql]# lsbin COPYING data docs include INSTALL-BINARY lib man mysql-test README share support-files[root@mdb01 mysql]#3.证书相关shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up执行结果[root@mdb01 mysql]# bin/mysql_ssl_rsa_setupGenerating a 2048 bit RSA private key.......+++..........+++writing new private key to "ca-key.pem"-----Generating a 2048 bit RSA private key.........................................................................................................................................................................................+++.+++writing new private key to "server-key.pem"-----Generating a 2048 bit RSA private key.....................................+++...................+++writing new private key to "client-key.pem"-----[root@mdb01 mysql]#4.目录权限修改shell> chown -R root .shell> chown -R mysql data Basedir mysql user[root@mdb01 mysql-5.7.9]# cd /opt[root@mdb01 opt]# chown mysql mysql[root@mdb01 opt]# lltotal 4drwxr-xr-x. 11 mysql mysql 4096 Oct 30 06:09 mysql 5.启动 MySQLshell> bin/mysqld_safe --user=mysql & 六、首次登陆 MySQL1.登录MySQL[root@rhel6 mysql]# bin/mysql -u root -pEnter password: 安装时生成的临时密码(Ek&!sA9(qYds)Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 3Server version: 5.7.9-log Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type "help;" or "h" for help. Type "c" to clear the current input statement. mysql> 2.修改登录密码root密码 * As of MySQL 5.7.6, use ALTER USER: mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "123456";Query OK, 0 rows affected (0.02 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec) 3.配置启动项 # Next command is optionalshell> cp support-files/mysql.server /etc/init.d/mysqld PATH环境变量vi /etc/profile..........unset iunset pathmungeexport PATH=/opt/mysql/bin:$PATH本文永久更新链接地址