首页 / 数据库 / MySQL / MySQL多实例部署案例
MySQL多实例部署案例2013-10-31昨天晚上在群中和一些网友聊到了MySQL多实例的话题,最早接触MySQL多实例还是在1年前,那会我刚步入运维行业,做过MySQL多实例的相关实验,在后来的工作中也很少用到多实例,一直就淡漠了它,昨天再次提及,故此再次重新整理下以前的笔记,参考一些大牛的观点,也参考我的好友贺总(尊称)的意见,特此写下这篇文章!废话不说,切入正题....在同一台物理服务器上部署多个实例,而多实例的部署方式简单,但是如何才能减少我们生产环境的维护成本,如何减少我们出错的机会,如何方便我们后续的迁移和清理等工作,以及如何借助多实例绑定的方式提高服务器的CPU资源利用率.什么情况下我们会考虑一台物理服务器上部署多个实例,大致有以下几种情况:采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例,方便后续迁移;为规避mysql对SMP架构不支持的缺陷,使用多实例绑定处理器的办法(NUMA处理器必须支持,不过现在大部分处理器都支持的!),把不同的数据库分配到不同的实例上提供数据服务;一台物理数据库服务器支撑多个数据库的数据服务,为提高mysql复制的从机的恢复效率,采用多实例部署;已经为双主复制的mysql数据库服务器架构,想部分重要业务的数据多一份异地机房的热备份,而mysql复制暂不支持多主的复制模式,且不给用户提供服务,为有效控制成本,会考虑异地机房部署一台性能超好的物理服务器,甚至外加磁盘柜的方式,为此也会部署多实例;传统游戏行业的MMO/MMORPG,以及Web Game,每一个服都对应一个数据库,而可能要做很多数据查询和数据订正的工作,为减少维护而出错的概率,也可能采用多实例部署的方式,按区的概念分配数据库;下面是具体的搭建细节!首先说明下MySQL的运行平台:CentOS 5.8 x86_64MySQL-5.5.25准备的软件列表:mysql-5.5.25.tar.gzcmake-2.8.4.tar.gzlibunwind-1.0.1.tar.gzgperftools-2.0.tar.gz1. 安装Tcmalloc 优化加速mysql64位操作系统要先安装libunwind库,32位操作系统可以不要安装:cd /home/qiuzhijun/softtar zxf libunwind-1.0.1.tar.gzcd libunwind-1.0.1./configuremake;make installcd ..tar zxf gperftools-2.0.tar.gzcd gperftools-2.0./configuremake;make installcd ..echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf/sbin/ldconfigcd ..利用TCMalloc提高mysql在高并发下的性能:[root@MySQL5_10 ~]# ll /usr/local/lib/libtcmalloc.solrwxrwxrwx 1 root root 20 Jul 9 21:17 /usr/local/lib/libtcmalloc.so -> libtcmalloc.so.4.1.0sed -i "/# executing mysqld_safe/aexport LD_PRELOAD=/usr/local/lib/libtcmalloc.so" /usr/local/webserver/mysql/bin/mysqld_safe