在使用cmake进行mysql的编译安装,但是无法执行,一直出现报错
你前面创建目录,配置权限的操作是否正确?
例如,我以前的操作笔记,你参考一下
MySQL从5.7版本之后,boost是必须的,建议把系统自带的boost库卸载,源码编译安装高版本
# yum -y remove boost-*
卸载系统自带的mysql
# yum -y remove mysql mariadb-*
安装必要的资源包
建议使用网络yum源,RHEL7光盘中自带的软件包版本不够,mysql-5.7.19.tar.gz的编译对软件包的版本要求比较高,其中cmake的版本要不低于2.8
安装依赖包
yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel
添加用户和组
# groupadd mysql
# useradd -M -s /sbin/nologin -r -g mysql mysql
(可以用一条命令执行:useradd -M -s /sbin/nologin -r mysql)
注:mysql-5.7.19.tar.gz安装时占用空间比较大,确保有足够的空间
解压源码包
# tar xf boost_1_59_0.tar.gz -C /usr/local/src/
# tar xf mysql-5.7.19.tar.gz -C /usr/local/src/
# cd /usr/local/src/mysql-5.7.19
规划安装目录:
安装目录: /var/lib/mysql
数据目录: /var/lib/mysql/data
# mkdir -p /var/lib/mysql/data
# chown -R mysql:mysql /var/lib/mysql
编译安装:
# cmake -DCMAKE_INSTALL_PREFIX=/var/lib/mysql \
-DMYSQL_DATADIR=/var/lib/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/boost_1_59_0
# make -j 4 #根据自己的核心数来写,我的是4核
# make install
直接装8.0的,其他的差不多快要淘汰了