mysql 数据转存,硬盘空间不够了倒腾了

2016-10-10 16:29:13 +08:00
 gkiwi
事情有点特殊。朋友阿里服务器到期(还有 5 天),不想续费了,希望我把上面的 mysql 数据转存一下(打算用百度云,他也没啥服务器),留着后面用;
数据是他买了别人的,所以丢掉不忍;

现在情况:服务器 150G 硬盘, mysql data 大小约 80G ,剩余大概 40G 可以用;

其中单 ibdata1 就有 79G ,参照网上一些瘦身方法,我想着用 mysqldump 导出,然后 gz 压缩一下,然后拉到我的本地再传到百度云上。

但是 ibdata1, db.sql, db.sql.tar.gz 这三者的大小不知道大概有多少。

结果第一步 mysqldump 导出了大半天,我上去一看,硬盘刚刚用光了。

直接压缩 mysql data 文件夹可行么?求个合适的方案,谢谢
2947 次点击
所在节点    问与答
18 条回复
zpvip
2016-10-10 16:45:54 +08:00
有没有可能先一个一个地把表转成 MyISAM ,然后 scp MyISAM 文件
ooxxcc
2016-10-10 16:52:40 +08:00
直接打包 /var/lib/mysql ,或者直接备份这个目录(
pubby
2016-10-10 16:55:30 +08:00
光用 mysqldump 就够了 ,直接在管道中压缩
mysqldump -u<user> -p<password> -h <host> <database> | gzip -c -3 > db.sql.gz

mysql 目录文件打包不需要吧,遇到不同 mysql 版本不好弄的。
ifishman
2016-10-10 17:01:16 +08:00
何不直接上传到百度云,是因为水管太小了么
Mac
2016-10-10 17:02:12 +08:00
1.直接打包 data 目录。
2.远程用工具备份,我不知道阿里云支不支持 MYSQL 用户的 HOST 是来自%的
shlabc
2016-10-10 17:03:24 +08:00
pubby
2016-10-10 17:08:08 +08:00
如果磁盘剩余还是不够,保证网络稳定的情况下可以直接导出到本地机器

ssh user@host ' mysqldump -u<user> -p<password> -h <host> <database> | gzip -c -3 ' > db.sql.gz
gkiwi
2016-10-10 17:13:54 +08:00
@zpvip 已经列在目录单子上,备选方案;
@ooxxcc @Mac 有尝试这个,但是压缩比不晓得,还在观察,速度倒是不错;
@pubby @shlabc 没有用到--quick 这个参数,之前我看了几个推荐的脚本,有些有用到这个参数,我一会尝试下,这个应该是最理想的姿势;

@ifishman 因为买的数据,当时对方有同步数据的工具,直接是同步到 mysql 中的~
ifishman
2016-10-10 17:19:06 +08:00
@gkiwi 我的意思是,直接用百度云的 linux 备份脚本备份整个数据文件夹到百度云上
gkiwi
2016-10-10 17:24:41 +08:00
@ifishman 谢谢,晓得你的意思了。。这个等我压缩好了再用,**真**小水管
ifishman
2016-10-10 17:33:20 +08:00
既然不能一次性压缩完,何不找找类似 winrar 的分卷压缩解决方案,压缩一个上传一个删除一个
@gkiwi
ifishman
2016-10-10 17:57:34 +08:00
gkiwi
2016-10-10 20:01:04 +08:00
@ifishman 现在用了两种方式进行压缩,一种直接压缩文件夹的出了一个 15G 的了已经,另外一个速度有点慢,一边导出一边压缩;感觉数据量应该会比 15G 这个小;

关于分割压缩,在管道中的数据,不晓得分割压缩是否可行,毕竟在在无法获得所有的所有数据之前,是否能够合理的分割压缩,不是太清楚这个。单纯的分割可以有。我晚点再看看结果
pubby
2016-10-10 20:57:13 +08:00
@gkiwi 管道输出也可以分片的

.... | split -d -b 10G - db.sql.gz.part-


但是你这小水管的话,分了也没用,因为下载速度比你文件生成慢。
ebony0319
2016-10-10 22:44:06 +08:00
压缩备份数据库的话大约是 12G 可以压缩为 1G 。
kn007
2016-10-10 22:51:13 +08:00
停止运行。直接把目录拷贝走。
kn007
2016-10-10 22:51:33 +08:00
或者一点一点备份
gkiwi
2016-10-12 10:27:48 +08:00
@pubby 小水管 12G ,上传了大概 12 个小时吧,已经搞定了:) 谢谢


@ebony0319 我的是 80G=>15G ,还得看数据

@kn007 已经搞定:)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/311652

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX