瞎扯淡 一般小站用 innodb 就是折腾啊

gaicitadie · 2014年01月25日 · 最后由 ruohanc 回复于 2014年02月02日 · 3420 次阅读

备份、恢复都不如myisam方便,一直以来都是用脚本自动拷贝数据文件备份的,其中一个数据库忘了用的是innodb,没拷贝日志文件。

事务事务,一般小站考虑什么事物,又不是支付宝,徒增烦恼

共收到 24 条回复

mysqldump 不就行了么? 数据库显然不是拷贝数据文件来备份的……

所以嘛 不同的场景用不同的机制

没用 Backup 吗……

原来postgresql就是这样被你们用MySQL打败的

#1楼 @kgen #3楼 @_samqiu 都不如直接拷贝文件来得快

#5楼 @gaicitadie 快慢比较首先要建立在正确性的前提下,你这么搞,数据根本是错的,没有一致性,没有 flush buffer。

要是不考虑正确性,随机生成0101数据还更快呢。

#6楼 @kgen 一般网站不需要考虑一致性,丢些数据也是可以容忍的,落伍者论坛,帖子7000万,会员100万,myisam,也是用脚本每天凌晨关站备份,等备份好了自动开站,估计数据库得有几十上百G,没猜错的话应该是备份文件的

哪个大大知道怎么把innodb转成myisam?我想把数据库转成myisam的,当时开发的时候没考虑到这个问题,就用了默认的innodb

#8楼 @gaicitadie

alter table table_name engine=myisam;

#9楼 @messiahxu 谢谢,不会清空以前的数据吧

#10楼 @gaicitadie 你最好还是备份下,虽然我之前是没出问题

#7楼 @gaicitadie 呵呵,你一定要丢点数据才舒服的话,我也没什么好说的了。

myisam 容易表损坏,尤其是频繁读写的类型……

我是自动 mylvmbackup 然后 rsync 到树莓派上

支持 @kgen 在此帖中的观点

#6楼 @kgen 我一直是用 Bash 停 mysql 再 copy myisam 表,这样就不会有数据一致性问题吧。

如果不停Mysql,先 LOCK TABLES,再 FLUSH TABLES,然后再copy应该也OK吧。

因为数据太大,mysqldump 太不实用了。

#16楼 @Peter 嗯,你停了 MySQL 再复制就没问题了。不过这样就要停服务,从可用性角度来说,体验会不太好。LOCK TABLES + FLUSH TABLES 也一样会导致那段时间不能写入。

如果数据太大,mysqldump 时间太久,可以考虑用 Master/Slave 方式,然后从 Slave 上备份,对 Master 性能无影响,又保证数据一致性。

#17楼 @kgen 这么快回复,先说句新年好。

我都凌晨3点在 Slave 备份,除了你这样的用户没睡,其他的都应该在做梦了,影响不了的,呵呵

innodb热备方案很成熟了,你不熟悉又不肯花时间去研究 myisam有myisam的问题,你到时候也是不花时间上来抱怨一声,下面你打算换什么?

顶一下 #17楼 @kgen

从 Slave 上面拉啊, 停机这事儿是谁想出来的. 这怎么能接受啊...

#19楼 @leopku innodb的小站继续innodb,免得转myisam出什么岔子,好在数据量不大,用mysqldump也很快。另一个数据量大的继续myisam,总之能不折腾就不折腾。个人站长的路子很辛苦,经常会因为各种原因一个人在网上带着数据到处打游击,部署方案能简则简,每天凌晨暂停几分钟基本没有什么影响

搭车问一下will_paginate对InnoDB的select count是怎么优化的

#23楼 @gaicitadie 数据量不大的时候优化啥呀?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册