设为首页 收藏本站
查看: 4422|回复: 0

[经验分享] MySQL 5.7.9源码编译安装说明

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-30 08:39:13 | 显示全部楼层 |阅读模式
一、环境说明
1.操作系统
系统版本:RHEL 6.3 X64
操作系统安装类型:Basic
系统安装包:gcc gcc-c++ bzip2(default) bzip2-devel bzip2-libs(default) python-devel ncurses-devel bison
1)gcc gcc-c++
[iyunv@mdb01 Packages]# rpm -ivh kernel-headers-2.6.32-279.el6.x86_64.rpm
warning: kernel-headers-2.6.32-279.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:kernel-headers         ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh glibc-headers-2.12-1.80.el6.x86_64.rpm
warning: glibc-headers-2.12-1.80.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:glibc-headers          ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh glibc-devel-2.12-1.80.el6.x86_64.rpm
warning: glibc-devel-2.12-1.80.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:glibc-devel            ########################################### [100%]     
[iyunv@mdb01 Packages]# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
warning: mpfr-2.4.1-6.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:mpfr                   ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh cpp-4.4.6-4.el6.x86_64.rpm
warning: cpp-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:cpp                    ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
warning: ppl-0.10.2-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:ppl                    ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
warning: cloog-ppl-0.15.7-1.2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:cloog-ppl              ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh gcc-4.4.6-4.el6.x86_64.rpm
warning: gcc-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:gcc                    ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh libstdc++-devel-4.4.6-4.el6.x86_64.rpm
warning: libstdc++-devel-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:libstdc++-devel        ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh gcc-c++-4.4.6-4.el6.x86_64.rpm
warning: gcc-c++-4.4.6-4.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:gcc-c++                ########################################### [100%]

2)bzip2-devel python-devel

[iyunv@mdb01 Packages]# rpm -ivh bzip2-devel-1.0.5-7.el6_0.x86_64.rpm
warning: bzip2-devel-1.0.5-7.el6_0.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:bzip2-devel            ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh python-devel-2.6.6-29.el6_2.2.x86_64.rpm
warning: python-devel-2.6.6-29.el6_2.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:python-devel           ########################################### [100%]
[iyunv@mdb01 Packages]#

Boost系统相关包安装检查

[iyunv@mdb01 Packages]# rpm -q gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel
gcc-4.4.6-4.el6.x86_64
gcc-c++-4.4.6-4.el6.x86_64
bzip2-1.0.5-7.el6_0.x86_64
bzip2-devel-1.0.5-7.el6_0.x86_64
bzip2-libs-1.0.5-7.el6_0.x86_64
python-devel-2.6.6-29.el6_2.2.x86_64
[iyunv@mdb01 Packages]#
二.cmake-3.3.2

# ./bootstrap
# make
# make install

三.boost_1_59_0
1.预编译配置
[iyunv@mdb01 boost_1_59_0]# ./bootstrap.sh
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.6
Detecting Python root... /usr
Unicode/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

[iyunv@mdb01 boost_1_59_0]#
2.编译
[iyunv@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.o
common.mkdir bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexer
common.mkdir bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexer/re2clex
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexer/re2clex/aq.o
gcc.compile.c++ bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/cpplexer/re2clex/cpp_re.o
gcc.archive bin.v2/libs/wave/build/gcc-4.4.6/release/link-static/threading-multi/libboost_wave.a
common.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/lib
3.安装
[iyunv@mdb01 boost_1_59_0]#./b2 install

...........
...........
common.copy /usr/local/lib/libboost_signals.so.1.59.0
ln-UNIX /usr/local/lib/libboost_signals.so
common.copy /usr/local/lib/libboost_timer.so.1.59.0
ln-UNIX /usr/local/lib/libboost_timer.so
common.copy /usr/local/lib/libboost_prg_exec_monitor.so.1.59.0
ln-UNIX /usr/local/lib/libboost_prg_exec_monitor.so
common.copy /usr/local/lib/libboost_unit_test_framework.so.1.59.0
ln-UNIX /usr/local/lib/libboost_unit_test_framework.so
common.copy /usr/local/lib/libboost_wave.so.1.59.0
ln-UNIX /usr/local/lib/libboost_wave.so
common.copy /usr/local/lib/libboost_exception.a
common.copy /usr/local/lib/libboost_system.a
common.copy /usr/local/lib/libboost_chrono.a
common.copy /usr/local/lib/libboost_timer.a
common.copy /usr/local/lib/libboost_test_exec_monitor.a
...updated 11816 targets...
[iyunv@mdb01 boost_1_59_0]#

四.mysql
1.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      
[iyunv@mdb01 cmake-3.3.2]# cmake --version
cmake version 3.3.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
[iyunv@mdb01 cmake-3.3.2]#
2) make
[iyunv@mdb01 cmake-3.3.2]# make -v
GNU Make 3.81
Copyright (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 A
PARTICULAR PURPOSE.

This program built for x86_64-redhat-linux-gnu
3) gcc
[iyunv@mdb01 cmake-3.3.2]# gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured 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-linux
Thread model: posix
gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
[iyunv@mdb01 cmake-3.3.2]#
4) perl
[iyunv@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 the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

[iyunv@mdb01 cmake-3.3.2]#


5) 其它系统包

ncurses-devel bison

[iyunv@mdb01 Packages]# rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
warning: ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:ncurses-devel          ########################################### [100%]
[iyunv@mdb01 Packages]# rpm -ivh bison-2.4.1-5.el6.x86_64.rpm
warning: bison-2.4.1-5.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:bison                  ########################################### [100%]
[iyunv@mdb01 Packages]#
3.安装前配置
# Preconfiguration setup
[iyunv@mdb01 soft]# groupadd mysql
[iyunv@mdb01 soft]# useradd -r -g mysql mysql
# Beginning of source-build specific instructions
[iyunv@mdb01 soft]# tar zxvf mysql-5.7.9.tar.gz
[iyunv@mdb01 soft]# cd mysql-5.7.9
4.配置安装项
[iyunv@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
[iyunv@mdb01 mysql-5.7.9]# make

6.安装MySQL
[iyunv@mdb01 mysql-5.7.9]# make install
# End of source-build specific instructions

五、安装后配置
# Postinstallation setup
1.目录权限
shell> cd /opt/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
2.初始化数据库
shell> bin/mysql_install_db --user=mysql    # Before MySQL 5.7.6
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
执行结果:
[iyunv@mdb01 mysql]# bin/mysqld --initialize --user=mysql
2015-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=45790
2015-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
[iyunv@mdb01 mysql]# ls
bin  COPYING  data  docs  include  INSTALL-BINARY  lib  man  mysql-test  README  share  support-files
[iyunv@mdb01 mysql]#
3.证书相关
shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up
执行结果
[iyunv@mdb01 mysql]# bin/mysql_ssl_rsa_setup
Generating 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'
-----
[iyunv@mdb01 mysql]#
4.目录权限修改
shell> chown -R root .
shell> chown -R mysql data

Basedir mysql user
[iyunv@mdb01 mysql-5.7.9]# cd /opt
[iyunv@mdb01 opt]# chown mysql mysql
[iyunv@mdb01 opt]# ll
total 4
drwxr-xr-x. 11 mysql mysql 4096 Oct 30 06:09 mysql

5.启动 MySQL
shell> bin/mysqld_safe --user=mysql &


六、首次登陆 MySQL

1.登录MySQL
[iyunv@rhel6 mysql]# bin/mysql -u root -p
Enter password: 安装时生成的临时密码(Ek&!sA9(qYds)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server 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 its
affiliates. Other names may be trademarks of their respective
owners.

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 optional
shell> cp support-files/mysql.server /etc/init.d/mysqld
PATH环境变量
vi /etc/profile
.....
.....
unset i
unset pathmunge
export PATH=/opt/mysql/bin:$PATH


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-132502-1-1.html 上篇帖子: mysql的order by与where出现的好玩事 下篇帖子: mysql 主从同步失败后
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表