加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL多实例部署案例

发布时间:2016-08-15 20:42:28 所属栏目:MySql教程 来源:站长网
导读:昨天晚上在群中和一些网友聊到了MySQL多实例的话题,最早接触MySQL多实例还是在1年前,那会我刚步入运维行业,做过MySQL多实例的相关实验,在后来的工作中也很
昨天晚上在群中和一些网友聊到了MySQL多实例的话题,最早接触MySQL多实例还是在1年前,那会我刚步入运维行业,做过MySQL多实例的相关实验,在后来的工作中也很少用到多实例,一直就淡漠了它,昨天再次提及,故此再次重新整理下以前的笔记,参考一些大牛的观点,也参考我的好友贺总(尊称)的意见,特此写下这篇文章!废话不说,切入正题....

在同一台物理服务器上部署多个实例,而多实例的部署方式简单,但是如何才能减少我们生产环境的维护成本,如何减少我们出错的机会,如何方便我们后续的迁移和清理等工作,以及如何借助多实例绑定的方式提高服务器的CPU资源利用率.

什么情况下我们会考虑一台物理服务器上部署多个实例,大致有以下几种情况:

采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例,方便后续迁移;

为规避mysql对SMP架构不支持的缺陷,使用多实例绑定处理器的办法(NUMA处理器必须支持,不过现在大部分处理器都支持的!),把不同的数据库分配到不同的实例上提供数据服务;

一台物理数据库服务器支撑多个数据库的数据服务,为提高mysql复制的从机的恢复效率,采用多实例部署;

已经为双主复制的mysql数据库服务器架构,想部分重要业务的数据多一份异地机房的热备份,而mysql复制暂不支持多主的复制模式,且不给用户提供服务,为有效控制成本,会考虑异地机房部署一台性能超好的物理服务器,甚至外加磁盘柜的方式,为此也会部署多实例;

传统游戏行业的MMO/MMORPG,以及Web Game,每一个服都对应一个数据库,而可能要做很多数据查询和数据订正的工作,为减少维护而出错的概率,也可能采用多实例部署的方式,按区的概念分配数据库;

下面是具体的搭建细节!

首先说明下MySQL的运行平台:

CentOS 5.8 x86_64

MySQL-5.5.25

准备的软件列表:

mysql-5.5.25.tar.gz

cmake-2.8.4.tar.gz

libunwind-1.0.1.tar.gz

gperftools-2.0.tar.gz

1. 安装Tcmalloc 优化加速mysql

64位操作系统要先安装libunwind库,32位操作系统可以不要安装:

cd /home/qiuzhijun/soft

tar zxf libunwind-1.0.1.tar.gz

cd libunwind-1.0.1

./configure

make;make install

cd ..

tar zxf gperftools-2.0.tar.gz

cd gperftools-2.0

./configure

make;make install

cd ..

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf

/sbin/ldconfig

cd ..

利用TCMalloc提高mysql在高并发下的性能:

[root@MySQL5_10 ~]# ll /usr/local/lib/libtcmalloc.so

lrwxrwxrwx 1 root root 20 Jul  9 21:17 /usr/local/lib/libtcmalloc.so -> libtcmalloc.so.4.1.0

sed -i '/# executing mysqld_safe/aexport LD_PRELOAD=/usr/local/lib/libtcmalloc.so' /usr/local/webserver/mysql/bin/mysqld_safe

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读