前提:操作系统为麒麟V10-Linux。

Cmake安装

1、卸载原有系统上安装的cmake,便于安装更高版本的cmake。(如果不卸载系统自带的,直接安装,可能会出现错误。)

     apt-get autoremove cmake

     yum remove cmake

2、在官网下载cmake的最新版的安装包,官网地址: https://cmake.org/download/。 

 注:下载和自己的OS匹配的版本;

3.将下载的安装包放到/usr/soft路径下,并进行解压;

   tar -zxvf cmake-3.22.0-linux-aarch64.tar.gz

4.可以看一下解压以后的目录结构,查看解压是否成功(某些时候,解压有可能出错,导致文件缺失) 

5、为cmake创建连接

     ln -s /usr/soft/cmake-3.22.0-linux-aarch64/bin/* /usr/bin/

6、验证cmake的安装是否成功;

(1)cmake -version;

    (2)cmake -help;

 

7、至此,cmake 已经安装成功了;

GCC安装

1、准备工作,下载gmp、mpfr、mpc、gcc安装包

Gmp下载地址:The GNU MP Bignum Library

Mpfr下载地址:https://www.mpfr.org/mpfr-current/#download

Mpc下载地址:Index of /gnu/mpc

Gcc下载地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/

      2、预装环境
      yum install -y gcc gcc-c++  

    3、安装gmp
    $ cd /usr/soft
    $ tar -zxvf gmp-5.0.2.tar.gz 
    $ cd gmp-5.0.2
    $ ./configure --prefix=/usr/local/ && make && make install && echo "sayok "

    4、安装mpfr
   $ cd ..
   $ tar -zxvf mpfr-3.1.2.tar.gz 
   $ cd mpfr-3.1.2
   $ ./configure --prefix=/usr/local/ --with-gmp=/usr/local/ && make && make install && echo "say ok"

  5、安装mpc
  $ cd ..
  $ tar -zxvf mpc-0.9.tar.gz 
  $ cd mpc-0.9
  $ ./configure --prefix=/usr/local/ --with-gmp=/usr/local/ --with-mpfr=/usr/local/ && make && make install && echo "say ok"

  6、安装gcc
  $ cd ..
  $ tar -zxvf gcc-4.9.4.tar.gz
  $ cd gcc-4.9.4
  $ ./configure --prefix=/usr/local/gcc-4.9.4 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local
  $ make && make install && echo "say ok"
编译安装过程一个多小时
卸载旧版本编译器
  $ yum remove gcc gcc-c++
  $ ln -s /usr/local/gcc-4.9.4/bin/c++ /usr/bin/c++
  $ ln -s /usr/local/gcc-4.9.4/bin/g++ /usr/bin/g++
  $ ln -s /usr/local/gcc-4.9.4/bin/gcc /usr/bin/gcc
  添加环境变量,修改profile文件,在最末添加如下两句
  $ vim /etc/profile
  LD_LIBRARY_PATH=/usr/local/gcc-4.9.4/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH
  $ source /etc/profile

MySQL编译安装

1、下载MySQL源码包(includes Boost Headers)。

cd /usr/soft/

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz --no-check-certificate

也可以通过浏览器下载MySQL源码包后上传到服务器“/home”目录下。

下载地址:https://dev.mysql.com/downloads/mysql/

安装包上传到服务器后进行解压,得到mysql-5.7.27目录。

tar -zxvf mysql-boost-5.7.27.tar.gz

进入“/usr/soft/mysql-5.7.27”源码文件夹,并建立一个编译目录。

cd /home/mysql-5.7.27

mkdir build

进入编译目录,配置MySQL。

cd build

cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=/usr/soft/mysql-5.7.27/boost/boost_1_59_0

注意:MySQL 5.7.X 安装报错CMake Error at cmake/boost.cmake:81 (MESSAGE)

解决方法:1:1.创建一个名为boost的文件夹

     mkdir -p /usr/soft/mysql-5.7.27/boost

2.进入这个新创建的文件夹,然后下载boost

    wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

3.解压

    tar -xvzf boost_1_59_0.tar.gz

4.继续cmake,-DWITH_BOOST参数设置为解压之后的路径

-DWITH_BOOST=/usr/soft/mysql-5.7.27/boost/boost_1_59_0

该方法亲测有效。

解决方法2:自行下载,在cmake后面添加-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/soft/mysql-5.7.36/boost/boost_1_59_0(指定路径)

解决方法3:

进入“/home/mysql-5.7.27”目录并且删除CMakeCache.txt文件。

cd /usr/soft/mysql-5.7.27

rm cmakeCache.txt

重新执行如下命令:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/soft/mysql-5.7.27/boost/boost_1_59_0

路径要根据实际情况而定,关键参数的解释见表1。

表1 关键参数说明

参数

说明

DBUILD_CONFIG

设置为mysql_release的含义是指CMake编译参数采用Mysql官方发布release版本时的编译参数。

DCMAKE_INSTALL_PREFIX

用于指定软件的安装路径,本文安装路径为:/usr/local/mysql。文档中的安装路径只是参考,根据客户实际情况进行配置。

DMYSQL_DATADIR

创建数据库时,数据文件存放的路径。本次安装路径为:/data/mysql/data。

DWITH_BOOST

解压MySQL源码包后,解压文件中boost_1_59_0文件夹所在路径。例如,本文解压在“/usr/soft/”目录下,则路径为:/usr/soft/mysql-5.7.27/boost/boost_1_59_0。

编译MySQL:make -j 96

 

注意:执行make报错如下

处理步骤

执行命令将prctl.h文件复制到“/usr/soft/mysql-5.7.27/include”中。

cp /usr/include/sys/prctl.h /home/mysql-5.7.27/include

编辑mysqld.cc文件,增加下图标注的内容。

vi /home/mysql-5.7.27/sql/mysqld.cc

    重新执行命令安装。

安装MySQL:make -j 96 install

说明:-j 96参数充分利用多核CPU优势,加快编译速度,参数-j后数字为CPU核数,可用“cat /proc/cpuinfo | grep processor | wc -l”进行查看,此数值应小于等于CPU核数。

查看安装目录:ls /usr/local/mysql/

查看数据库版本:/usr/local/mysql/bin/mysql --version

安装和启动跟centos一致。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐