问题搞定,大概整理下:
mysqldump -uroot -ppassword --opt --extended-insert=true -R --no-autocommit --quick db_name|gzip -c -3>db_name.gz
然后使用bypy,同步到了百度云。
/var/lib/mysql
大概大小80G,导db_name出后(主要就这一个库),约11+G,花费了有5,6个小时;
2M小水管同步花了12个小时左右;
同步完了才想起来bypy上传数据和导出数据可以并行的。
===
另外一种方案直接打包文件夹/var/lib/www出了15G,速度比mysqldump导出快很多,也是一种不错的方案。 对于硬盘实在不够的,使用这种,每次打包一部分,然后上传,也是一种不错的方案;
1
zpvip 2016-10-10 16:45:54 +08:00 1
有没有可能先一个一个地把表转成 MyISAM ,然后 scp MyISAM 文件
|
2
ooxxcc 2016-10-10 16:52:40 +08:00 1
直接打包 /var/lib/mysql ,或者直接备份这个目录(
|
3
pubby 2016-10-10 16:55:30 +08:00 1
光用 mysqldump 就够了 ,直接在管道中压缩
mysqldump -u<user> -p<password> -h <host> <database> | gzip -c -3 > db.sql.gz mysql 目录文件打包不需要吧,遇到不同 mysql 版本不好弄的。 |
4
ifishman 2016-10-10 17:01:16 +08:00 1
何不直接上传到百度云,是因为水管太小了么
|
5
Mac 2016-10-10 17:02:12 +08:00 1
1.直接打包 data 目录。
2.远程用工具备份,我不知道阿里云支不支持 MYSQL 用户的 HOST 是来自%的 |
6
shlabc 2016-10-10 17:03:24 +08:00 1
http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html
http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html --quick Retrieve rows for a table from the server a row at a time |
7
pubby 2016-10-10 17:08:08 +08:00 1
如果磁盘剩余还是不够,保证网络稳定的情况下可以直接导出到本地机器
ssh user@host ' mysqldump -u<user> -p<password> -h <host> <database> | gzip -c -3 ' > db.sql.gz |
8
gkiwi OP |
12
ifishman 2016-10-10 17:57:34 +08:00 1
|
13
gkiwi OP @ifishman 现在用了两种方式进行压缩,一种直接压缩文件夹的出了一个 15G 的了已经,另外一个速度有点慢,一边导出一边压缩;感觉数据量应该会比 15G 这个小;
关于分割压缩,在管道中的数据,不晓得分割压缩是否可行,毕竟在在无法获得所有的所有数据之前,是否能够合理的分割压缩,不是太清楚这个。单纯的分割可以有。我晚点再看看结果 |
14
pubby 2016-10-10 20:57:13 +08:00 1
|
15
ebony0319 2016-10-10 22:44:06 +08:00 via Android 1
压缩备份数据库的话大约是 12G 可以压缩为 1G 。
|
16
kn007 2016-10-10 22:51:13 +08:00 1
停止运行。直接把目录拷贝走。
|
17
kn007 2016-10-10 22:51:33 +08:00 1
或者一点一点备份
|