1、定义
简单的说,就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,这些服务进程通过不同的socket监听不同的服务端口提供各自的服务。
2、作用
有效利用服务器资源,节约运维成本,提高硬件利用率
3、问题
当单个数据库实例并发很高或者有SQL慢查询时,整个实例会消耗大量的系统CPU、磁盘I/O等资源,导致服务器上的其他数据库实例提供服务的质量一起下降。
4、应用场景
资金紧张型公司的选择
当公司业务访问量不太大,又不舍得花钱,但又希望不同业务的数据库服务各自尽量独立的听过服务互相不受影响,而且,需要主从同步进行等技术提供备份或读写分离服务,多实例就再好不过了。如:可以通过3台服务器部署6-9个实例,交叉做主从同步备份及读写分离,实现6-9台服务器才有的效果。这里要强调的是,所谓的尽量独立是相对的。
并发访问不是特别大的业务
当公司业务访问量不太大的时候,服务器的资源基本都是浪费的,这时就很适合多实例的应用,如果对SQL语句优化做的比较好,MySQL多实例一个很值得使用的技术,即使并发很大,合理分配好系统资源,也不会有太大问题。
门户网应用MySQL多实例场景
百度搜索引擎的数据库就是多实例,一般是从库,48核,内存96G,跑3-4个实例,sina网也是用的多实例,内存48G左右。门户网站使用多实例的目的是配硬件好的服务器节省IDC机柜空间,同时,跑多实例让硬件资源不浪费。
5、配置MySQL多实例