操作过程:
先查看服务器上需要提却的文件的大小一边考虑在目的服务器的空间是否能够,还有就是服务器之间的带宽虽然比较大,但是如果全部用来长时间的传输文件肯定要不得的。所以后面要考虑到限流传输这些大文件。下面是我需要提取的文件
-rw-r----- 1 root root 8.7K 07-12 00:40 content_0805.frm
-rw-r----- 1 root root 1.5G 07-12 00:44 content_0805.MYD
-rw-r----- 1 root root 78M 07-12 00:29 content_0805.MYI
-rw-rw---- 1 root root 18K 07-12 00:44 info_0805.frm
-rw-rw---- 1 root root 317M 07-12 00:28 info_0805.MYD
-rw-rw---- 1 root root 343M 07-12 00:41 info_0805.MYI
看了一下感觉还是有点大一共需要提取和传输2个多G。
接下来就是我错误的开始和根源了
# tar -cvf *_0805.*
content_0805.MYD
content_0805.MYI
info_0805.frm
info_0805.MYD
info_0805.MYI
呀!是不是发现 tar 后面少了一些东西了吧,还有就是显示打包后的文件怎么少了一个上面查看到的content_0805.frm文件了。
1.tar 后面的参数一般是都会跟上-z 但是由于目标机是sun的solaris 10这个上面之前没装gzip工具所以就没要-z,但是后面紧更了一个更大的错误 (标准: tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.) 而我的 却上了一个 “archive.tar” 就因为上了一个它接下来接疼了。
我再次查看原文件是发现,呀!content_0805.frm 由原来的8.7K变成了 2.2G 这下明白了tar 的时候content_0805.frm为第一个文件 他替代了“archive.tar” 接下来的5个文件全部归档到一起归档名为
content_0805.frm并且覆盖了原来的8,7K的content_0805.frm文件。
-rw-r----- 1 root root 2.2G 08-21 14:34 content_0805.frm
-rw-r----- 1 root root 1.5G 07-12 00:44 content_0805.MYD
-rw-r----- 1 root root 78M 07-12 00:29 content_0805.MYI
-rw-rw---- 1 root root 18K 07-12 00:44 info_0805.frm
-rw-rw---- 1 root root 317M 07-12 00:28 info_0805.MYD
-rw-rw---- 1 root root 343M 07-12 00:41 info_0805.MYI
rm content_0805.frm
这下郁闷到了丢失了一个content_0805.frm文件。接下来得像办法弥补一下啊。先补习一下知识通过mysql5.1的官方帮助文档(13.1.5. CREATE TABLE语法)了解到
文件 作用
tbl_name.frm 表格式(定义)文件
tbl_name.MYD 数据文件
tbl_name.MYI 索引文件
也就是说*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引,知道了这个我就高兴了,因为content_0805的表的结构语言我还有,庆信自己没有覆盖的是*.MYD文件。
接下来的操作就是恢复frm文件(比较简单),进入mysql 以后按照之前的表结构创建一张content_0805表然后再停止mysql服务器,把content_0805.MYD,content_0805.MYI文件拷贝到对应的数据文件夹下面ok。
最后重新打包提取文件。
# tar -cvf 0805_im.tgz *_0805.*
content_0805.frm
content_0805.MYD
content_0805.MYI
info_0805.frm
info_0805.MYD
info_0805.MYI
然后传出文件
scp -P 22 -l 800 0805_im.tgz root@211.211.211.211:/home/bak
输入您的密码
开始传输。上面限速的参数是-l 他后面的800的单位是Kbit/s. -P是指定211.211.211.211服务器的端口。
这下来的时间等待他们慢慢传递吧!先休息去了。