您的位置:首页 > 数据库 > MySQL

用mysqldump远程备份mysql数据库 和 恢复

2013-11-12 20:25 495 查看
from http://hi.baidu.com/hyvpuqcjncagilr/item/7b55bc5bc49ad213db16355d

1、备份

摘要:mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。...

mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。

      操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。

      在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户——backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。

       假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:\bak\的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:

      我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:

      $>mysqldump -u 用户名 -h ip地址 -p 数据库名 > D:\bak\bakcup.sql
      $>Enter password:password
      在这段命令中:

      mysqldump 是myqldump的程序名了;

      -u 是数据库的用户名,后面紧跟着用户名backup;

      -p是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;

      -h 是数据库的地址,如果没有此项表明是备份本地的数据库;

     backup_test 要备份的数据库名称;

      > 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。

      一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。

      如果把这个命令写成批处理文件,通过windows的计划任务可以实现定时备份数据。

      在windows下用mysqldump备份数据库,因为没有gzip的压缩引擎,因此不能对备份数据库进行压缩,因此如果备份文件多了要经常清理过期的数据库备份文件。

本文摘自 www.hackline.net 转载请注明!

原文链接:http://www.hackline.net/a/Special/wzjs/web/2009/1018/1097.html

以下在我本机上测试过

数据库文件恢复:

$>mysqldump -u username -p databasename > D:\test\bakcup.sql

回车

Enter password:password

回车

如果只恢复一个表:

$>mysqldump -u username -p databasename tablename > D:\test\bakup.sql

回车

Enter password:password

回车

username:用户名

password:密码

databasename:数据库名

tablename:要恢复数据库中的那个表名

D:\test\bakup.sql:是你当时备份的那个文件的绝对路径和名字
2、恢复
$>mysql -u 用户名 -p 数据库名< 备份文件.sql

Enter password:密码

eg:$>mysql -u root -p test<D:\test\test.sql

回车

Enter password :123
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据备份