mac版源码编译安装mysql
一、基础环境
1.清理环境(清理系统自带的Mariadb和boost)
CentOS 7 版本的系统默认自带安装了MariaDB,需要先清理。
##查询已安装的mariadb
[root@master1 ~]# rpm -qa |grep mariadb
或者
[root@master1 ~]# yum list installed | grep mariadb
##卸载查询到的mariadb包
[root@master1 ~]# rpm -e --nodeps (mariadb版本)
或
[root@master1 ~]# yum -y remove (mariadb版本)
##检查boost版本,如果有,则卸载boost-*等库
[root@master1 ~]# rpm -qa boost* #查询
[root@master1 ~]# yum -y remove boost* #移除
2.基础库及依赖包文件
[root@master1 ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@master1 ~]# yum -y install make patch gcc gcc-c++ git libaio libaio-devel ncurses ncurses-devel perl bison bison-devel libxml libxml-devel libxml2 libxml2-devel zlib zlib-devel libgcrypt glibc glibc-devel glib2 glib2-devel flex bzip2* curl* openssl-devel openssl
3.安装cmake(编译工具)
官网:https://cmake.org/
[root@master1 ~]# cd /data/tools/
[root@master1 tools]# wget https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz
[root@master1 tools]# tar -xzvf cmake-3.8.2.tar.gz
[root@master1 tools]# cd cmake-3.8.2/
[root@master1 cmake-3.8.2]# ./bootstrap
[root@master1 cmake-3.8.2]# gmake
[root@master1 cmake-3.8.2]# make install
4.安装jemalloc(内存管理)
官网:http://jemalloc.net/
内存分配器,适合多线程下的内存分配管理软件。与其它内存分配器相比,它最大的优势在于多线程情况下的高性能以及内存碎片的减少。
[root@master1 cmake-3.8.2]# cd /data/tools/
[root@master1 tools]# wget https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2
[root@master1 tools]# tar xjf jemalloc-5.2.1.tar.bz2
[root@master1 tools]# cd jemalloc-5.2.1/
[root@master1 jemalloc-5.2.1]# ./autogen.sh
[root@master1 jemalloc-5.2.1]# make && make install
[root@master1 jemalloc-5.2.1]# echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
[root@master1 jemalloc-5.2.1]# ldconfig
5.安装Boost库
官网:https://www.boost.org/
无需最新版本,本文中编译安装的5.7.34版本对应需要的boost为1.59.0。
[root@master1 ~]# cd /data/tools/
[root@master1 tools]# wget --no-check-certificate https://udomain.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
[root@master1 tools]# tar -zxvf boost_1_59_0.tar.gz
[root@master1 tools]# chown -R root.root boost_1_59_0
[root@master1 tools]# chown -R 755 boost_1_59_0
[root@master1 tools]# mv boost_1_59_0 /usr/local/boost159/
二、安装配置mysql
1.添加mysql组及用户
[root@master1 ~]# groupadd -r mysql
[root@master1 ~]# useradd -g mysql -r -s /sbin/nologin -M -d /data/mysql mysql
2.创建相关目录及修改目录属性
##数据目录
[root@master1 ~]# mkdir -p /data/mysql
##修改目录属性
[root@master1 ~]# chown mysql.mysql /data/mysql
[root@master1 ~]# chown 0700 /data/mysql
3.安装MySQL
##下载解压
[root@master1 ~]# cd /data/tools/
[root@master1 tools]# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.34.tar.gz
[root@master1 tools]# tar -zxvf mysql-5.7.34.tar.gz
[root@master1 tools]# cd mysql-5.7.34
##Cmake配置
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.34 -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.7.34/mysql.sock -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=system -DENABLED_LOCAL_INFILE=1 -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_EMBEDDED_SERVER=0 -DINSTALL_SHAREDIR=sh