系统:centos7.0
配置方案:N个配置文件(,cnf)+N个启动程序脚本。
为什么要安装多实例:更好的利用服务器资源。
什么是实例:简单理解就是一个端口就是一个实例,实例独立但是占用服务器公共硬件资源。
说明:本篇blog参考老男孩mysqlDBA高级运维系统课程第二部第26视频总结改编,
使用cmake(编译安装)安装讲解多实例,本文一共安装了3306、3307两个实例。
操作:
1、安装mysql依赖包:
yum install ncurses-devel -y
yum install libaio-devel -y
2、创建用户和组:
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql
获得mysql软件:
rz -y
3、安装mysql软件:
1、解压:tar xf mysql-5.5.
2、生成不带版本号的软连接/application/mysql,即mysql安装路径:
ln -s /application/mysql-5.5.32/ /application/mysql
4、删除之前的单实例安装:
pkill mysqld
ps -ef|grep mysql
rm -f /etc//mysqld
相当于:mysql单实例安装到建立软连接即可
make && make install
ln -s /application/mysql-5.5.32/ /application/mysql
5、创建多实例目录:
mkdir -p /data/{3306,3307}/data
tree /data
/data/-->多实例总目录
├── 3306-->3306实例的目录
│ └── data-->3306实例的数据文件的目录
└── 3307-->3307实例的目录
└── data-->3307实例的数据文件的目录
6、安装配置:
rz -y(把本地的上传到服务器上,
下载链接: /s/1gfzNsQZ 密码: qcav)
uzip (/home/test/tools目录下)
拷贝mysql多实例配置文件:
cp data/3306/ /data/3306(把/home/test/tools/data/3306下的文件拷贝到/data/3306目录下)
cp data/3307/ /data/3307
拷贝mysql多实例启动文件:
cp data/3306/mysql /data/3306(把home/test/tools/data/3306下的mysql启动脚本文件拷贝到/data/3306目录下)
cp data/3307/mysql /data/3307
mysql多实例配置文件:
port=3306 port=3307
socket= /data/3306/ socket= /data/3307/
datadir=/data /3306/data datadir=/data /3307/data
long_query_time=1 long_query_time=1
#long-error= /data/3306/ #long-error= /data/3307/
#long-slow-queries= /data/3306/ #long-slow-queries= /data/3307/
pid-file= /data/3306/ pid-file= /data/3307/
log-bin= /data/3306/mysql-bin log-bin= /data/3307/mysql-bin
relay-log= /data/3306/relay-bin relay-log= /data/3307/relay-bin
relay-log-info-file =/data/3306/ relay-log-info-file =/data/3307/
server-id=1 server-id=1
long-error= /data/3306/mysql_test3306.err long-error= /data/3307/mysql_test3307.err
mysql多实例启动服务实质:
mysqld_safe --defaults-file=/data/3306/ 2>&1 > /dev/null &
mysqld_safe --defaults-file=/data/3307/ 2>&1 > /dev/null &
mysql多实例停止服务实质:
mysqladmin -u root(用户名) -密码 -S /data/3306/ shutdown
mysqladmin -u root(用户名) -密码 -S /data/3307/ shutdown