美文网首页
centos6下mysql5.7编译安装

centos6下mysql5.7编译安装

作者: HEYHEYJIAN | 来源:发表于2017-08-18 21:33 被阅读0次

    Mysql5.7版本更新后有很多变化,比如json等,且安装必须要BOOST库,不过mysql的官网源码有带boost库的源码和不带boost库的源码两种

    下载源代码

    https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz

    安装依赖

    yum -y install make gcc-c++ cmake bison-devel  ncurses-devel  bison perl perl-devel 

    添加mysql用户

    groupadd mysql

    useradd -r -g mysql -s /bin/nologin mysql

    BOOTST

    从MySQL 5.7.5开始Boost库是必需的

    下载 mysql-boost-5.7.12.tar.gz 在 cmake 指定参数 -DWITH_BOOST=boost,

    或直接cmake指定参数 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost 系统会下载 boost ,

    系统下载boost有时会出错,建议使用带boost库的源码安装

    编译参数

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

    -DSYSCONFDIR=/etc \

    -DWITH_BOOST=boost \

    -DWITH_MYISAM_STORAGE_ENGINE=1 \

    -DWITH_INNOBASE_STORAGE_ENGINE=1 \

    -DWITH_PARTITION_STORAGE_ENGINE=1 \

    -DWITH_FEDERATED_STORAGE_ENGINE=1 \

    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

    -DEXTRA_CHARSETS=all \

    -DDEFAULT_CHARSET=utf8mb4 \

    -DDEFAULT_COLLATION=utf8mb4_general_ci \

    -DWITH_EMBEDDED_SERVER=1 \

    -DENABLED_LOCAL_INFILE=1 \

    指定安装文件的安装路径时常用的选项:

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

    -DMYSQL_DATADIR=/data/mysql

    -DSYSCONFDIR=/etc

    默认编译的存储引擎包括:InnoDB,MyISAM,MERGE,MEMORY, CSV。若要安装其它存储引擎,可以使用类似如下编译选项:

    -DWITH_ARCHIVE_STORAGE_ENGINE=1

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    -DWITH_FEDERATED_STORAGE_ENGINE=1

    若要明确指定不编译某存储引擎,可以使用类似如下的选项:

    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

    -DWITHOUT_FEDERATED_STORAGE_ENGINE=1

    -DWITHOUT_PARTITION_STORAGE_ENGINE=1

    如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

    -DWITH_READLINE=1

    -DWITH_SSL=system

    -DWITH_ZLIB=system

    -DWITH_LIBWRAP=0

    其它常用的选项:

    -DMYSQL_TCP_PORT=3306

    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock

    -DENABLED_LOCAL_INFILE=1

    -DEXTRA_CHARSETS=all

    -DDEFAULT_CHARSET=utf8

    -DDEFAULT_COLLATION=utf8_general_ci

    -DWITH_DEBUG=0

    -DENABLE_PROFILING=1

    更多编译参数

    https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#cmake-general-options

    重新编译

    如果想清理此前的编译所生成的文件,则需要使用如下命令:

    make clean

    编译安装

    make && make install

    配置开机启动

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    chmod +x /etc/init.d/mysqld

    chkconfig --add mysqld

    chkconfig mysqld on

    修改/etc/my.cnf配置文件

    初始化数据库

    /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

    注: 之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃

    “–initialize”会生成一个随机密码(~/.mysql_secret),而”–initialize-insecure”不会生成密码

    –datadir目标目录下不能有数据文件

    修改环境变量

    vi /etc/profile

    # 在profile文件末尾增加两行

    PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

    export PATH

    # 使PATH搜索路径立即生效:

    source /etc/profile

    相关文章

      网友评论

          本文标题:centos6下mysql5.7编译安装

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