300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 银河麒麟V10(Kylin Linux V10)之MySQL编译安装

银河麒麟V10(Kylin Linux V10)之MySQL编译安装

时间:2023-08-03 21:20:16

相关推荐

银河麒麟V10(Kylin Linux V10)之MySQL编译安装

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

Cmake安装

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

apt-get autoremove cmake

yum remove cmake

2、在官网下载cmake的最新版的安装包,官网地址: /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下载地址:/mpfr-current/#download

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

Gcc下载地址:https://mirrors.tuna./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 /get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz --no-check-certificate

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

下载地址:/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 /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。

编译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

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

vi /home/mysql-5.7.27/sql/

重新执行命令安装。

安装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一致。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。