前提:操作系统为麒麟V10-Linux。
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 已经安装成功了;
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
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一致。