美文网首页mysql
centos6下源码安装mysql5.7.18

centos6下源码安装mysql5.7.18

作者: 天之轩 | 来源:发表于2017-06-01 18:59 被阅读66次

    系统环境

    [root@lamp0 ~]# cat /etc/redhat-release 
    CentOS release 6.9 (Final)
    [root@lamp0 ~]# uname -r
    2.6.32-696.1.1.el6.x86_64
    [root@lamp0 ~]# uname -m
    x86_64
    

    mysql5.7.18源码包获取

    https://dev.mysql.com/downloads/mysql/

    1.jpg

    这里下载的是Generic Linux (Architecture Independent), Compressed TAR Archive Includes Boost Headers(mysql-boost-5.7.18.tar.gz),因为mysql5.7以后版本源码编译必须指定boost,如果下载的是mysql-5.7.18.tar.gz,你需要去boost官网下载boost_1_59_0.tar.gz

    安装

    安装一些依赖包

    yum install -y openssl openssl-devel ncurses-devel libaio-devel zlib-devel gcc gcc-c++ bison
    

    这里要注意openssl、zlib应该确保安装上,不然待会编译时会报错,安装前后都应该检查一下

    [root@lamp0 ~]# rpm -qa zlib
    zlib-1.2.3-29.el6.x86_64
    [root@lamp0 ~]# rpm -qa zlib-devel
    zlib-devel-1.2.3-29.el6.x86_64
    [root@lamp0 ~]# rpm -qa openssl
    openssl-1.0.1e-57.el6.x86_64
    [root@lamp0 ~]# rpm -qa openssl-devel
    openssl-devel-1.0.1e-57.el6.x86_64
    

    安装CMake(跨平台编译器)
    https://cmake.org/download/

    cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

    # wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
    
    # tar xf cmake-3.5.2.tar.gz
    # cd cmake-3.5.2
    
    # yum install -y make gcc gcc-c++ ncurses-devel
    
    # ./bootstrap
    # gmake 
    # gmake install
    

    解压、编译、安装

    tar xf  mysql-boost-5.7.18.tar.gz
    
    mkdir -p /usr/local/mysql/data 
    
    useradd -M mysql -s /sbin/nologin
    groupadd mysql
    id mysql
    
    chown -R mysql.mysql /usr/local/mysql /usr/local/mysql/data 
    
    cd mysql-5.7.18
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/usr/local/mysql/data \
    -DSYSCONFDIR=/etc \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DWITH_LIBWRAP=0 \
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    -DWITH_SSL=system \
    -DWITH_ZLIB=system \
    -DWITH_BOOST=/root/mysql-5.7.18/boost \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci
    
    这里cmake如果出现错误,看错误代码,缺少哪个库。就下载哪个库,重新编译前,应该在mysql5.7.18目录下执行以下代码
    make clean
    rm CMakeCache.txt
    
    如果cmake成功,出现如下代码
    -- Build files have been written to: /root/mysql-5.7.18
    
    最后,
    make && make install
    
    接着就是漫长的等待(1个半小时左右)
    

    参考:http://www.cnblogs.com/goozgk/p/5645041.html

    相关文章

      网友评论

        本文标题:centos6下源码安装mysql5.7.18

        本文链接:https://www.haomeiwen.com/subject/bvnhfxtx.html