分类目录

链接

2011 年 12 月
 1234
567891011
12131415161718
19202122232425
262728293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > MySQL, SQL Server > 正文
怎么用sql语句备份和恢复数据库
MySQL, SQL Server 暂无评论 阅读(2,367)

备份:backup database dbname to disk=' d:\dbn.aa';

恢复:restore database dbname from disk=' d:\dbn.aa';

使用MYSQL进行数据库备份,网上说的方法有2种:一种是用文件夹覆盖,一种是用官方的mysqldump.exe来备份,参考网上的教程,结合实际,本人提供以下几个参考意见:

一、文件夹覆盖备份法(网上教程)

目的:备份hostA主机中一个mysql数据库TestA,并恢复到到hostB机中

试验环境:

操作系统:WinXPsp2,Mysql4.1.8,MySQL-Front.

在hostA中安装mysql数据库并建立TestA数据库

hostB机安装mysql数据库,没有TestA数据库

方法步骤:

启动MySQL-Front察看HostA和HostB中的数据库列表,在HostB中没有TestA数据库

找到HostA中mysql的安装目录,并找到数据库目录data

在我的试验环境中,这个目录是

C:\Program Files\MySQL\MySQL Server 4.1\data

找到对应数据库名称的子目录

C:\Program Files\MySQL\MySQL Server 4.1\data\TestA

找到HostA中的目录MySQL Datafiles

在我的试验环境中,这个目录是

C:\MySQL Datafiles

将这个目录 覆盖HostB的MySQL Datafiles目录。

刷新HostB的MySQL-Front察看一下数据库列表,我们看到TestA已经出现,并且作查询修改等操作都正常,备份恢复恢复成功。

试验结论:Mysql的数据库可以通过文件形式保存,备份,恢复只要将相应文件目录恢复即可,无需使用其它工具备份。

本人测试结果:我使用的是MySQL 5.0.8的,经过以上方法测试失败!

二、正规的方法(官方建议):

导出要用到MySQL的mysqldump工具,基本用法是:

 

mysqldump [OPTIONS] database [tables]

 

如果你不给定任何表,整个数据库将被导出。

一般使用的命令:

mysqldump --quick --database ondemand1 --u root >bacqup.sql

这样就能把数据库中ondemand1的表全部备份出来。

其中参数的格式是:--(两横杠,不是我们常用的单横杠)

quick是在数据比较多的时候,不用该参数的话,所有的数据都会先在内存缓存,接着才导出,这样会导致服务器运行减慢!

--u 必须要加一个用户名,否则系统会提示你进不了ODBC数据库的。

>backup.sql则是你备份数据库的目标文件名

数据导入:

可以使用MySQL-Front工具把上面导出的backup.sql数据库导入执行。

以下导入方法未测试是否可行!

导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

mysqladmin create target_db_name

mysql target_db_name < backup-file.sql

 

 

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:怎么用sql语句备份和恢复数据库 | Bruce's Blog

发表评论

留言无头像?