MySQL多实例介绍
- 简单的说就是在一台服务器上开启多个不同的服务端口,运行多个MySQL服务进程,这些进程通过不同的socket监听不同的服务端口来提供各自的服务
- 这些MySQL多实例共用一套MysQL安装程序 使用不同(也可以相同)的my.cnf配置文件、启动程序,数据文件。在提供服务时 多实例MySQL在逻辑上看来是各自独立的 多个实例的自身是根据配置文件对应的设定值 来去的服务器的相关硬件资源多少
- 补充:其实很多服务都可以有多实例 甚至在门户网站用的很广泛 例如nginx就可以多实例 apache haproxy redis memcache都可以多实例
MySQL多实例的作用与问题
1.有效利用服务器资源
当单个服务器资源有剩余时 可以充分利用剩余的资源提供更多的服务
2.节约服务器资源
当公司资金紧张 但是数据库又需要各自尽量独立提供服务 而且 需要主从同步等技术时 多实例就再好不过了
3.资源互相抢占问题
当某个服务实例并发很高或者有慢查询时,整个实例会消耗更多的内存、CPU、磁盘IO资源,导致服务器上的其他的实例提供服务的质量下降。这就相当于大家住在一个房子的不同卧室一样,早晨起来上班都要刷牙、洗脸等,这样卫生间就会长期占用,其他人就要等待
MysSQL多实例生产应用场景
1.资源紧张型公司的选择
当公司业务访问量不太大又不舍得花钱,但又希望不同业务的数据库服务各自尽量独立的提供服务互相不熟影响,而且 需要主从同步进行等技术提供备份或读写分离服务时,多实例就再好不过了。这里要强调的是,所谓的尽量独立是相对的
2.并发访问不是特别大的业务
当公司业务访问量不太大的时候服务器的资源基本都是浪费的,这时就很适合多实例的应用,如果对SQL语句优化做的比较好,MySQL多实例是一个很值得使用的技术,及时并发很大,合理分配好系统资源 也不会有太大问题
3.门户网站应用MySQL多实例场景
门户网站使用多实例的目的是配硬件好的服务器,节省IDC机柜空间,同时,跑多实例让硬件资源不浪费。
MySQL多实例常见配置方案
1.多配置文件部署方案
通过配置多个配置文件及多个启动程序来实现多实例的方案
实用,耦合性不强,配置方便,特别是主从复制的时候
2.单一配置文件部署方案
不推荐。缺点:耦合性太高