1.MySQL多实例介绍
1.1.什么是MySQL多实例
MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:;
1.2.MySQL多实例的特点有以下几点
1:有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务。
2:节约服务器资源
3:资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存、CPU、磁盘IO资源,导致服务器上的其他实例提供服务的质量下降;
1.3.部署mysql多实例的两种方式
第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便;
第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方便,优点是管理起来很方便,集中管理;
1.4.同一开发环境下安装两个数据库,必须处理以下问题
- 配置文件安装路径不能相同
- 数据库目录不能相同
- 启动脚本不能同名
- 端口不能相同
- socket文件的生成路径不能相同
2.环境说明
参考 mysql源码安装
3.第一种方式部署
3.1.创建目录,并拷贝配置文件
[root@mysql ~]# mkdir /u01/3307
[root @mysql 3307]$ mkdir -p /u01/3307/data
[root @mysql 3307]$ mkdir -p /u01/3307/log
[root @mysql 3307]$ mkdir -p /u01/3307/tmp
[root@mysql ~]# cp -a /u01/3306/my.cnf /u01/3307
[root@mysql ~]# chown -R mysql:mysql /u01/3307
3.2.修改配置文件
[mysql@mysql 3307]$ vi my.cnf
备注:将3306全部替换成3307
3.3.初始化数据库
[mysql@mysql 3307]$ mysqld --defaults-file=/u01/3307/my.cnf --initialize --user=mysql --basedir=/u01/3306/ --datadir=/u01/3307/data/
3.4.实例启动
[mysql@mysql ~]$ mysqld_safe --defaults-file=/u01/3307/my.cnf 2>&1 > /dev/null &
3.5.多实例数据库登录
[mysql@mysql ~]$ mysql -uroot -S /u01/3307/mysql.sock -p
3.6.多实例数据库关闭
[mysql@mysql ~]$ mysqladmin -uroot -pmysql -S /u01/3307/mysql.sock shutdown
3.总结
类似于ORACLE数据库多实例创建,一个mysql软件可以安装多套mysql实例
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29132283/viewspace-2157492/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29132283/viewspace-2157492/