免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 65644 | 回复: 162

MySQL混和引擎(Innodb+MyISAM)在工作中的设计 备份和优化(获奖名单已公布-6-5) [复制链接]

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
发表于 2012-05-14 16:00 |显示全部楼层

获奖名单已公布,详情请看:http://bbs.chinaunix.net/thread-3751263-1-1.html

由于历史和业务原因,我们的MySQL数据库是混和引擎的,即MyISAM+Innodb,交易的表用的均是Innodb引擎,好处大家众所周知,就是Innodb支持事务,熟悉了MyISAM引擎的朋友知道,维护和优化Innodb及备份此种数据库的方法跟MyISAM是不一样的,而且它们的锁表机制也是不一样的,相信大家在工作中也会遇到类似的情况,下面我们就这些情况来进行一些讨论。

讨论话题:
1.混和引擎的MySQL如何进行设计,需要将所有的MyISAM引擎表转化成Innodb吗?
1.混和引擎的MySQL,大家平时是用哪些方案备份的?
2.混和引擎的MySQL如何进行优化呢,innodb_buffer_pool_size是否设成物理内存的50%-80%即可?

邀请嘉宾:
小版主杀手   ChinaUnix社区Mysql版版主
ning_lianjie 去哪儿网DBA

活动要求:针对以上任意话题进行分享经验

活动时间:2012.5.14——2012.5.31

活动有奖:我们为大家准备了5本《MySql技术内幕 InnoDB存储引擎》图书,奖励给积极参与分享讨论的网友!

1111.jpg

论坛徽章:
0
发表于 2012-05-14 16:04 |显示全部楼层
沙发占座。。。 等待大家分享经验!!

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
发表于 2012-05-14 16:09 |显示全部楼层
MySQL官方上建议将nnodb_buffer_pool_size是否设成物理内存的50%-80%,我认为这种说法缺乏谨慎的考虑。

论坛徽章:
0
发表于 2012-05-14 16:17 |显示全部楼层
以前主要在用Innodb,网站比较多,每天都做备份,是不同集群的网站数据库,备份很耗时

论坛徽章:
0
发表于 2012-05-14 16:19 |显示全部楼层
如果单机只跑Mysql
查询量又很大,给80%没什么不可吧
不过,一般我们只是看变量,然后一点点的调
这两个引擎需要调的各种缓存都不少,尤其的是Innodb的

备份吧,多主多从。如果机器不够就两个从吧。好像SQLdump需要锁表

论坛徽章:
13
技术图书徽章
日期:2014-04-29 14:15:42IT运维版块每日发帖之星
日期:2015-12-12 06:20:00IT运维版块每日发帖之星
日期:2015-08-30 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-08-02 06:20:002015年亚洲杯之澳大利亚
日期:2015-04-03 15:03:12申猴
日期:2015-03-20 09:00:292015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15季节之章:冬
日期:2015-01-20 17:08:47双子座
日期:2014-11-21 16:30:31技术图书徽章
日期:2014-07-11 16:29:08
发表于 2012-05-14 16:58 |显示全部楼层
支持这样的活动!

论坛徽章:
0
发表于 2012-05-14 17:09 |显示全部楼层
InnoDB存储引擎是行锁,不会存在大量锁表情况,对写操作有利,在做读写分离时可用于主库;MyISAM存储引擎虽然是表锁,但select查询速度要比InnoDB快很多,用于MySQL Slave只读数据库。

备份 MyISAM 表:
  1. /usr/local/mysql/bin/mysqldump -ubak -p741852 --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob -x db_name > db_name.sql
复制代码
备份 Innodb 表:
  1. /usr/local/mysql/bin/mysqldump -ubak -p741852 --default -character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob --single-transaction db_name > db_name.sql
复制代码

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
发表于 2012-05-14 17:31 |显示全部楼层
king_819 发表于 2012-05-14 17:09
InnoDB存储引擎是行锁,不会存在大量锁表情况,对写操作有利,在做读写分离时可用于主库;MyISAM存储引擎虽 ...


胡兄,mysqldump的语法检验了没。

论坛徽章:
0
发表于 2012-05-14 17:38 |显示全部楼层
回复 8# yuhongchun


   用过的

论坛徽章:
0
发表于 2012-05-14 18:02 |显示全部楼层
2.混和引擎的MySQL如何进行优化呢,innodb_buffer_pool_size是否设成物理内存的50%-80%即可?
——这样设置是不太合适的。
系统预留1G、线程需要一些,myisam需要一些,这些都要从总内存里面剔除。剩余的才可以作为使用的,并要考虑到系统负载很高时,其他程序的内存使用情况。

个人觉得要根据status和系统情况慢慢调整。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP