工作札记(tar mysql.frm scp)

  珍惜生命远离疏忽,今天俺犯了一个不大不小差点要命的错误,在对备份的mysql数据提取到别处去用的时候疏忽了一下,把我的心都凉了一大半,虽然是备份数据暂时不会影响生产服务器但是还是很凉,很汗,所以特地记录下我犯错和弥补的过程,提醒自己。

 

操作过程:

先查看服务器上需要提却的文件的大小一边考虑在目的服务器的空间是否能够,还有就是服务器之间的带宽虽然比较大,但是如果全部用来长时间的传输文件肯定要不得的。所以后面要考虑到限流传输这些大文件。下面是我需要提取的文件

-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 但是由于目标机是sunsolaris 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并且覆盖了原来的87Kcontent_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.MYDcontent_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服务器的端口。

 

这下来的时间等待他们慢慢传递吧!先休息去了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值