zoukankan      html  css  js  c++  java
  • Mysql5.7和8.0源码编译安装

    注意事项:

    1. CentOS 8版本需要额外安装 libtirpc-devel 包

    2. CentOS 7版本安装mysql 8.0版本需要升级cmake,gcc包版本,升级后要注意处理旧版本包,例如建立新的软连接,或者干脆删除旧版本包。CentOS 8版本本身yum源中包的版本就比较新,可以直接使用dnf命令安装即可。

    3. 源码安装mysql需要有boost库,最好事先下载好,然后在编译的时候指定boost路径,不推荐在线下载,可能会下载非常慢。

    4. 最好多核编译,内存4G以上。

    5. password()函数在mysql8.0.11之后版本被废除了,不能用来修改密码了。推荐使用alter命令来修改用户密码。

    6. 源码安装mysql需要编译安装rpcsvc-proto包,否则在编译mysql的时候会有如下报错。

    CMake Error at plugin/group_replication/libmysqlgcs/rpcgen.cmake:100 (MESSAGE):
      Could not find rpcgen
    Call Stack (most recent call first):
      plugin/group_replication/libmysqlgcs/CMakeLists.txt:38 (INCLUDE)
    
    1. 编译时间较长,注意安排时间。

    Mysql 5.7.30 源码编译安装

    编译安装rpcsvc-proto-1.4.2包

    tar xvf rpcsvc-proto-1.4.2.tar.xz
    cd rpcsvc-proto-1.4.2/
    ./configure
    make -j 2 ; make install
    

    编译安装mysql

    #安装相关依赖包
    yum -y install make cmake gcc gcc-c++ ncurses ncurses-devel bison
    
    #创建用户及用户组
    groupadd -r mysql
    useradd -r -g mysql -s /sbin/nologin mysql
    
    #准备mysql目录
    mkdir /data/mysql
    chown mysql.mysql /data/mysql
    
    #将压缩包解压到指定目录
    tar xvf boost_1_59_0.tar.bz2 -C /usr/local/
    tar xvf mysql-5.7.30.tar.gz
    
    #编译安装mysql 5.7.30
    cd ../mysql-5.7.30
    
    cmake . 
    -DCMAKE_INSTALL_PREFIX=/apps/mysql 
    -DMYSQL_DATADIR=/data/mysql 
    -DSYSCONFDIR=/etc 
    -DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock 
    -DEXTRA_CHARSETS=all 
    -DDEFAULT_CHARSET=utf8mb4 
    -DDEFAULT_COLLATION=utf8mb4_unicode_ci 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DENABLED_LOCAL_INFILE=1 
    -DENABLED_PROFILING=1 
    -DMYSQL_TCP_PORT=3306 
    -DWITH_DEBUG=0 
    -DDOWNLOAD_BOOST=1 
    -DWITH_BOOST=/usr/local/boost_1_59_0
    
    make -j 8 && make install
    
    #环境变量设置
    ##方法1:
    echo 'PATH=/apps/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
    . /etc/profile.d/mysql.sh
    ##方法2:
    ln -s /apps/mysql/bin/* /usr/local/bin/
    
    #准备配置文件
    vim /etc/my.cnf
    [mysqld]
    datadir=/data/mysql
    skip_name_resolve=1
    socket=/data/mysql/mysql.sock
    log-error=/data/mysql/mysql.log
    pid-file=/data/mysql/mysql.pid
    
    [client]
    default-character-set=utf8mb4
    socket=/data/mysql/mysql.sock
    
    [mysql]
    default-character-set=utf8mb4
    socket=/data/mysql/mysql.sock
    
    [mysql]
    auto-rehash
    prompt="\u@\h [\d]>"
    
    #初始化数据库
    mysqld --initialize-insecure --user=mysql --basedir=/apps/mysql --datadir=/data/mysql
    
    #准备服务脚本
    cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    #启动mysql
    chkconfig --add mysqld
    service mysqld start
    
    #修改root用户密码
    ##方法1:
    mysqladmin -u root password 'newpassword'
    
    ##方法2: 需要进入mysql数据库
    update user set authentication_string=PASSWORD('newpassword') where user='root';
    flush privileges;
    
    ##方法3: 需要进入mysql数据库
    alter user 'root'@'localhost' identified by 'newpassword';
    

    Mysql 8.0.20 源码编译安装

    编译安装rpcsvc-proto-1.4.2包

    tar xvf rpcsvc-proto-1.4.2.tar.xz
    cd rpcsvc-proto-1.4.2/
    ./configure
    make -j 2 ; make install
    

    编译安装gcc

    tar xvf gcc-10.2.0.tar.gz
    
    cd gcc-10.2.0/
    
    #下载必要的库
    ./contrib/download_prerequisites
    
    ./configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
    
    make -j 8 && make install
    
    #修改软连接,查看gcc版本,或者删除旧版,将新版安装目录/bin添加到PATH变量中
    mv /usr/bin/gcc /usr/bin/gcc_old
    ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
    mv /usr/bin/g++ /usr/bin/g++_old
    ln -s /usr/local/gcc/bin/g++ /usr/bin/g++
    gcc --verson
    g++ --version
    
    

    编译安装cmake

    tar xvf cmake-3.18.4.tar.gz
    
    cd cmake-3.18.4/
    
    ./bootstrap --prefix=/usr/local/cmake
    
    make -j 8 && make install
    

    编译安装mysql

    #安装相关依赖包
    yum -y install make cmake gcc gcc-c++ ncurses ncurses-devel bison openssl-devel libtirpc-devel
    
    #创建用户及用户组
    groupadd -r mysql
    useradd -r -g mysql -s /sbin/nologin mysql
    
    #准备mysql目录
    mkdir /data/mysql
    chown mysql.mysql /data/mysql
    
    ##将压缩包解压到指定目录
    tar xvf boost_1_70_0.tar.gz -C /usr/local/
    tar xvf mysql-8.0.20.tar.gz
    
    #编译安装
    cd mysql-8.0.20/
    
    cmake . 
    -DCMAKE_INSTALL_PREFIX=/apps/mysql 
    -DMYSQL_DATADIR=/data/mysql 
    -DSYSCONFDIR=/etc 
    -DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock 
    -DEXTRA_CHARSETS=all 
    -DDEFAULT_CHARSET=utf8mb4 
    -DDEFAULT_COLLATION=utf8mb4_unicode_ci 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DENABLED_LOCAL_INFILE=1 
    -DENABLED_PROFILING=1 
    -DMYSQL_TCP_PORT=3306 
    -DWITH_DEBUG=0 
    -DDOWNLOAD_BOOST=0 
    -DWITH_BOOST=/usr/local/boost_1_70_0
    
    make -j 8 && make install
    
    #环境变量设置
    ##方法1
    echo 'PATH=/apps/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
    . /etc/profile.d/mysql.sh
    
    ##方法2
    ln -s /apps/mysql/bin/* /usr/local/bin/
    
    #准备配置文件
    vim /etc/my.cnf
    [mysqld]
    datadir=/data/mysql
    skip_name_resolve=1
    socket=/data/mysql/mysql.sock
    log-error=/data/mysql/mysql.log
    pid-file=/data/mysql/mysql.pid
    
    [client]
    default-character-set=utf8mb4
    socket=/data/mysql/mysql.sock
    
    [mysql]
    default-character-set=utf8mb4
    socket=/data/mysql/mysql.sock
    
    [mysql]
    auto-rehash
    prompt="\u@\h [\d]>"
    
    #初始化数据库
    mysqld --initialize-insecure --user=mysql --basedir=/apps/mysql --datadir=/data/mysql
    
    #准备服务脚本
    cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    #启动mysql
    chkconfig --add mysqld
    service mysqld start
    
    #修改root用户密码
    ##方法1:
    mysqladmin -uroot password 'newpassword'
    
    ##方法2 : 需要进入mysql数据库
    alter user 'root'@'localhost' identified by 'newpassword';
    
  • 相关阅读:
    Visual Studio 连接不上NuGet 官方程序包源的解决办法
    Microsoft Toolkit 2.5下载 – 一键激活Windows 8.1/2012 R2/Office 2013
    Intel® Ethernet Connection I217-V 网卡驱动(win10 ,2012)
    flashfxp3.41中文版注册码:(适合最新版本)
    Fiddler对安卓应用手机抓包图文教程
    网址检查器1.0
    Win10打不开chm文件的解决办法
    Android HTTP通讯
    对Android开发者有益的40条优化建议
    IIS下PHP的三种配置方式比较
  • 原文地址:https://www.cnblogs.com/wuvikr/p/13798784.html
Copyright © 2011-2022 走看看