系统环境:centos 6.2 64位 

内核版本: 2.6.32-220.el6.x86_64
mysql版本:5.1.62
如果喜欢这篇博文,请给个赞,更多博文请访问 平凡的日子  linux开源技术博客
一,MySQL多实例介绍及MySQL多实例的特点
1、什么是MySQL多实例?
   MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307,3308),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务。
2、MySQL多实例的特点有以下几点:
   1)、有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务。
   2)、节约服务器资源
   3)、资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存、CPU、磁盘IO资源,导致服务器上的其他实例提供服务的质量下降。
二,MySQL多实例的安装配置
1、首先创建mysql用户和组:
   
   
   
   
  1. [root@LVS_RS_104 ~]# groupadd mysql 
  2. [root@LVS_RS_104 ~]# useradd -s /sbin/nologin -g mysql -M mysql 
2、下载MySQL源码包并解压安装
 
   
   
   
   
  1. [root@LVS_RS_104 ~]# wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.62.tar.gz 
  2. [root@LVS_RS_104 ~]# tar zxvf mysql-5.1.62.tar.gz 
  3. [root@LVS_RS_104 ~]# cd mysql-5.1.62 
  4. [root@LVS_RS_104 mysql-5.1.62]# ./configure --prefix=/usr/local/mysql --enable-assembler --enable-thread-safe-client --with-mysqld-user=mysql --with-big-tables --without-debug --with-pthread --with-extra-charsets=complex --with-readine --with-ssl --with-embedded-server --enable-local-infole --with-plugin=partition,innobase --with-plugin-PLUGIN --with-mysqld-ldflags=-all-static --with-client-ldfags=-all-static 
  5. [root@LVS_RS_104 mysql-5.1.62]# make && make install 
3 mysql参数说明:
--prefix=/usr/local/mysql   #指定mysql的安装路径
--enable-assembler  #允许使用汇编模式(优化性能)
--enable-thread-safe-client  #以线程方式编译mysql
--with-mysqld-user=mysql  #指定mysql运行的系统的用户
--with-big-tables #支持大表,即使是32位的系统也能支持4G以上的表
--without-debug  #使用非debug模式
--with-pthread   #强制使用pthread线程库编译
--with-extra-charsets=complex   #mysql默认的字符集使用complex
--with-ssl    #支持ssl
--with-plugin=partition,innobase
--with-plugin-PLUGIN
--with-mysqld-ldflags=-all-static   #服务器使用静态库(优化性能)
--with-client-ldfags=-all-static    #客户端使用静态库(优化性能)
更多参数请看源码目录的INSTALL或者./configure --help
4、创建MySQL多实例的数据目录
 
   
   
   
   
  1. [root@LVS_RS_104 mysql-5.1.62]# mkdir /usr/local/mysql/data/{3306,3307,3308}/data -p 
  2. [root@LVS_RS_104 mysql-5.1.62]# tree /usr/local/mysql/data/ 
  3. /usr/local/mysql/data/ 
  4. ├── 3306 
  5. │   └── data 
  6. ├── 3307 
  7. │   └── data 
  8. └── 3308 
  9.     └── data 
  10.  
  11. 6 directories, 0 files 
5、创建MySQL多实例配置文件
这里和单实例配置不同。因为要配置多个配置文件要多份,我们可以通过vim命令来添加,如下
 
   
   
   
   
  1. [root@LVS_RS_104 data]# vim /usr/local/mysql/data/3306/my.cnf 
  2. [root@LVS_RS_104 data]# vim /usr/local/mysql/data/3307/my.cnf 
  3. [root@LVS_RS_104 data]# vim /usr/local/mysql/data/3308/my.cnf 
MySQL多实例的配置文件my.cnf和启动文件在附件,读者可以下载下来放到各实例的目录,启动文件需要把属组和属主改为mysql并添加执行权限,如下:
 
   
   
   
   
  1. [root@LVS_RS_104 data]# chown mysql.mysql /usr/local/mysql/data/3306/mysql  
  2. [root@LVS_RS_104 data]# chown mysql.mysql /usr/local/mysql/data/3307/mysql  
  3. [root@LVS_RS_104 data]# chown mysql.mysql /usr/local/mysql/data/3308/mysql  
  4. [root@LVS_RS_104 data]# chmod +x /usr/local/mysql/data/3306/mysql  
  5. [root@LVS_RS_104 data]# chmod +x /usr/local/mysql/data/3307/mysql  
  6. [root@LVS_RS_104 data]# chmod +x /usr/local/mysql/data/3308/mysql 
6、初始化MySQL数据目录并添加mysql命令道全局路径
 
   
   
   
   
  1. [root@LVS_RS_104 data]# echo 'export PATH=$PATH:/usr/local/mysql/bin/' >>/etc/profile 
  2. [root@LVS_RS_104 data]# source /etc/profile 
  3. [root@LVS_RS_104 data]# mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/ 
  4. data/3306/data/  
  5. [root@LVS_RS_104 data]# mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/ 
  6. data/3307/data/ 
  7. [root@LVS_RS_104 data]# mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/ 
  8. data/3308/data/   
7、启动MySQL多实例
   
   
   
   
  1. [root@LVS_RS_104 3306]# ./mysql start 
  2. Starting MySQL... 
  3. [root@LVS_RS_104 3306]# ../3307/mysql start 
  4. Starting MySQL... 
  5. [root@LVS_RS_104 3306]# ../3308/mysql start 
  6. Starting MySQL... 
检查端口看看mysql是否启动成功

通过上面截图我们发现mysql启动成功。
 MySQL多实例配置文件和启动文件下载地址 http://www.chlinux.net/download/my.cnf.tar.gz