mysql 备份各种方法

注意这里是ubuntu11.04版本mysql 5.1 。windows下的估计有区别。。自己研究去吧!!

1.登录mysql后用BACKUP、RESTORE命令不推荐使用,后面的版本可能会移除。。所以还是别用了!

2。用mysqldump命令备份。假设在firstdb下有个test 表。则运行

mysqldump -uUERNAME -pPASSWORD -hHOSTNAME firstdb test > test.sql 

登录后mysql后运行:drop table test ;

现在恢复 : mysql -uUSRNAME -pPASSWORD -hHOSTNAME firstdb < test.sql 

这样原来的test就恢复了。。

当然mysqldump很多参数。。自己man去吧!

3、用select into 做备份 

登录mysql后运行:select * from test into outfile "test.dat";

清空表:truncate test ;

恢复可以: load data infile "test.dat" into table test ;

当然还可以用mysqlimport命令代替load data 。。在bash下运行:

mysqlimport  -uUSERNAME -pPASSWROD -hHOSTNAME firstdb test.dat ;

这样就可以恢复了。。

不过注意在linux下的权限问题。。这个不解释。。mysql的权限管理用户是一个系统用户--mysql,具体查看相关linux 权限的书籍!

4.利用mysqlhotcopy命令

用法和mysqlimport类似。。这是一个perl脚本。。查看help就会用了。。

5.使用二进制更新的日志文件恢复数据到最近位置。

这个要求打开log-bin选项,在/etc/mysql/my.cnf 下设置。。利用正则表达式很容易就可以找到log-bin选项,把注释去了就可以了。当然也可以自己加上。

然后利用mysqlbinlog  XXXX-bin.XXX 就可以恢复了。。默认应该是放在/var/log/mysql 。。自己利用find命令找。。

6最后一种方法不多说。。直接把整个数据库拷贝。。。利用cp 命令复制到其他目录或文件系统。。恢复也容易。。。

posted @ 2011-09-04 00:48  int32bit  阅读(152)  评论(0编辑  收藏  举报