官网mysql下载源码安装
下载MySQL5.7.20源码包,
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
下载Boost C++ 1.59.0的开放源码程序库,在后面cmake的时候加上boost的路径
wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/
mkdir -p /usr/local/src
cp boost_1_59_0.tar.gz /usr/local/boost/
运行环境:centos6.5
版本号:5.7.20
mysql5.5和5.6有很大的不同,需要cmake,解决办法,有两种,在最后,可以把下载的包放到/usr/local/boost目录下,编译安装的时候装上,还有一种是直接编译安装。
第一步:
搭建环境,添加用户和组MySQL,并且不允许登录
groupadd mysql
usradd -r -g mysql -s /sbin/nologin -M mysql
解压:
tar -xf mysql-5.7.20.tar.gz
cd mysql-5.7.20
更新环境准备工作
yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl make cmake
mkdir -p /usr/local/mysql/
mkdir -p /data/mysql
其中data下的属主和属组必须是mysql,date是数据库目录。
ls /usr/local/mysql
chown -R mysql:mysql /data/mysql
4.2cmake配置
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ MySQL的安装目录basedir
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ Unix socket 文件路径socket
-DSYSCONFDIR=/etc \ 系统配置目录
-DDEFAULT_CHARSET=utf8 \ 使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \ 校验字符
-DWITH_MYISAM_STORAGE_ENGINE=1 \ 安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 安装 blackhole 存储引擎
-DENABLED_LOCAL_INFILE=1 \ 允许从本地导入数据
-DMYSQL_DATADIR=/usr/local/mysql/data \ 数据库存放目录datadir
-DDOWNLOAD_BOOST=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
-DWITH_BOOST=/usr/local/boost 指定下boost目录
(如果在最开始的时候下载boost C++ ,最后要指定boost的目录)
cmake .\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
-DSYSCONFDIR=/etc
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION&