mysql多实例安装

时间:2025-04-09 19:45:28

系统: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