MySQL多实例管理
1、多实例介绍
单实例:
在⼀台linux上,某个⽬录下,安装了⼀ 个mysql,且启动了这个mysql,这就表示,这个机器上,有单独的⼀个mysql 个体,⼀个实例。
多实例:
就是⼀台linux上,同时运⾏多个mysql,当然是区别了不同的端⼝, 例如3306、3307、3308。运⾏三个mysql数据库
这三个mysql,就相当于三个独⽴的卧室,互相没关系,在linux上的呈现区别就是 :
不同的端⼝
不同的数据⽬录
不同的配置⽂件
不同的mysql进程
不同的pid
2、多实例优缺点
优点:
可有效利⽤服务器资源。当单个服务器资源有剩余时,可以充分利⽤剩余的资源提供 更多的服务,且可以实现资源的逻辑隔离,节约服务器资源。
若公司资⾦紧张,但是数据库⼜需要各⾃尽量独⽴地提供服务,⽽ 且还需要⽤到主从复制等技术,那么选择多实例就再好不过了。
例如公司有多个业务,需要⽤到好⼏套mysql数据库,都得单独的部署,数据区分开
缺点:
⽐如,会存在资源互相抢占的问题。当某个 数据库实例并发很⾼或者有SQL慢查询时,整个实例会消耗⼤量的系统CPU、磁盘I/O 等资源,导致服务器上的其他数据库实例提供服务的质量⼀起下降。
这就相当于⼤家住在⼀个房⼦的不同卧室中,早晨起来上班,都要刷⽛、洗脸等,这 样卫⽣间就会⻓期处于占⽤状态,其他⼈则必须要等待。
不同实例获取的资源是相对独⽴的,⽆法像虚拟化⼀样完全隔离。(毕竟⼤家都是在 同⼀个⽂件系统下)
3、学MySQL多实例⽤在哪些场景
(1)资⾦紧张的公司
若公司资⾦紧张,公司业务访问量不太⼤,但⼜希望不同业务的数据库服务各⾃能够 尽量独⽴地提供服务⽽互相不受影响,或者,还有需要主从复制等技术提供备份或读 写分离服务的需求,那么,多实例就再好不过了。
⽐如:可以通过3台服务器部署915个实例,交叉做主从复制、数据备份及读写分离,这样就可 以等同于915台服务器每个只装⼀个数据库才有的效果。
(2)⽤户并发访问量不⼤的业务
当公司业务访问量不太⼤的时候,服务器的资源基本上都是浪费的,这时就很适合多 实例的应⽤,如果对SQL语句的优化做得⽐较好,MySQL多实例会是⼀个很值得使⽤ 的技术,即使并发很⼤,合理分配好系统资源以及搭配好服务,也不会有太⼤的问 题。
例如某古董、古玩展示的⽹站,⽐起电商⽹站,并发量会⼩⼀些,更多追求稳定,⽽ 不是⾼性能、⾼并发。
(3)⼤型⽹站也有⽤多实例
⻔户⽹站通常都会使⽤多实例,因为配置硬件好的服务器,可以节省IDC机柜空间, 同时,运⾏多实例也会减少硬件资源占⽤率不满的浪费。
⽐如,百度公司的很多数据库都是多实例的,不过,⼀般是 从库 采⽤多实例,
例如 某部⻔中使⽤的IBM服务器为48核CPU,内存96GB,⼀台服务器运⾏3~4个实例;
此外,新浪⽹也有采⽤多实例的情况,内存48GB左右。