• redhat7.4下编译运行mysql源码


    STEP-1:环境准备

    • MySQL-8.0.20的编译依赖gcc-5.3+/cmake3.5.2+
    • gcc-5.3依赖库gmp/mpfc/mpc

    安装动态库版本如下:

      (1) gmp-6.1.0

      (2) mpfr-3.1.4

      (3) mpc-1.0.3

    库源码下载地址:

      ftp://gcc.gnu.org/pub/gcc/infrastructure/

    依赖库编译安装步骤:

      解压下载的库源码,进入到相应目录内分别执行:

     ./configure --prefix=/usr/local/gmp-6.1.0
     ./configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0
     ./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4

    编译gcc-5.3(此过程会比较久):

     ./configure --prefix=/usr/local/gcc-5.3.0 --build=x86_64-linux -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4/ --with-mpc=/usr/local/mpc-1.0.3/

    cmake编译

       ./bootstrap

      gmake

      gmake install

    环境变量设置:

      在/etc/profile最后添加:

        export PATH=/usr/local/gcc-5.3.0/bin:/$PATH
        export LD_LIBRARY_PATH=gmp-6.1.0/lib:mpc-1.0.3/lib:mpfr-3.1.4/lib:/usr/local/gcc-5.3.0/lib64:$LD_LIBRARY_PATH

     然后执行 source /etc/profile

    STEP-2:MySQL-8.0.20源码编译

    1. execute cmake

    cmake -DCMAKE_INSTALL_PREFIX=/home/mysql_build -DMYSQL_DATADIR=/home/mysql_build/data/data -DSYSCONFDIR=/home/mysql_build/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/home/mysql_build/bin/mysql.sock -DMYSQL_TCP_PORT=6303 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_BOOST=/usr/local/boost -DWITH_DEBUG=1

    2. make && make install

    3. mkdir ./etc && cp /home/mysql_1/etc/my.cnf ./etc/

    4. mkdir -p ~/data/data && mkdir -p ~/data/binlog && mkdir -p ~/data/relaylog

    5. ./bin/mysqld --initialize-insecure --datadir=/home/mysql_build/data/data --basedir=/home/mysql_build

    6. add skip-grant-tables to my.cnf

    7. ./bin/mysqld --defaults-file=~/etc/my.cnf &

    8. connect db with network: mysql -uroot -h192.168.0.156 -P6303

    9. update user set Host="%", authentication_string=password("123456") where User='root';

    10. flush privileges;

    11. remove skip-grant-tables from my.cnf

    12. start mysql again and try to connect db with passwd: mysql -uroot -h192.168.0.156 -P6303 -p'123456'

  • 相关阅读:
    FileUtils功能概述
    java collections
    java的OutOfMemoryError: PermGen space实战剖析
    中华人民共和国知识产权行业标准——表格格式和代码标准 第1部分:表格代码规则
    JVM EXCEPTION_ACCESS_VIOLATION
    【转】Linux tail 命令详解
    【转】XSHELL下直接下载文件到本地(Windows)
    Java与JavaScript之间关于JSON的是非恩怨
    MySQL的Blob类型的手工编辑(manually edit)
    Linux上传下载
  • 原文地址:https://www.cnblogs.com/xinxinBlog/p/10890525.html
Copyright © 2020-2023  润新知