好记性不如烂笔头!
MySQL多实例
实际上就是在同一台服务器上运行多个mysql服务进程。
相同点:公用同一套MySQL安装程序。
不同点:使用不同的配置文件(也可以相同)、启动程序(也可以相同)、数据库文件、端口号。
我理解的是类似同一套tomcat环境跑多个webapp项目,同一套python环境运行多个python程序。
环境准备
操作系统:CentOS release 6.5 (Final)
MySQL版本:5.7.20
一部岛国大片(编译时用)
MySQL5.7.20安装包下载
官网下载 MySQL Community Server 5.7.20
Operating System:Source Code
OS Version:Generic Linux
一种带boost版,一种不带。新版的MySQL都需要安装boost库,如果使用不带boost版的安装包还要单独再下载boost包,网上找了好多,下载地址都是
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz ,但是发现下载非常慢,后来直接下载带boost版的MySQL,将
里面的boost包拷贝出来,用来给不带boost版本的MySQL源码包编译用,其实这样还不如就直接下载带boost版本的MySQL源码包。
瞎扯那么多开始安装。
创建用户
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
安装boost库
如果下载的是不带boost版的MySQL源码包,那么需要先安装boost包。我用的mysql-boost-5.7.20.tar.gz里的boost包。
如果下载的是带boost版的mysql源码包,那么这步直接跳转,记住boost包的位置就行了。
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz
cd mysql-boost-5.7.20
cp -r ./boost /usr/local
编译MySQL
# 安装编译组件
yum install cmake make gcc gcc-c++
# 进入MySQL安装包目录
cd /opt/package/mysql-5.7.20
# 编译MySQL(看着参数挺多,挺牛逼,然而除了前面几个其它的都看不懂)
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_UNIX_ADDR=/data/mysql/data/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_EDITLINE=bundled \
-DWITH_READLINE=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DENABLE_DTRACE&#