首页 > 代码库 > mysql备份还原

mysql备份还原

关于mysql备份还原命令操作,一切都在cmd中进行,不是进入mysql命令行


**************************************************************

备份命令:(命令不需要输入密码,输入密码会被认为是数据库的名字,密码等按回车会提示输入)


mysqldump -h localhost -u root -p test>d:/test.sql

(-h localhost可省略,它表示备份本机的mysql )

接下来会提示输入密码,输入密码后,数据库test将会成功备份到"d:/"下。

·····························

mysqldump -u root -p test>first_backuptest.sql

这个命令Windows7下默认备份到C:\Users\Administrator下,第一次备份如果不知道备份到什么地方,一定要先确认,在我的电脑上右键搜索,搜索的位置记录下来,以备后用。

**************************************************************

还原命令:(数据库中必须存在要还原的数据库【空的也可以,表不用必须存在】,而且必须选择数据库,不能简写成mysql -h localhost -u root -p<d:/test.sql)


mysql -h localhost -u root -p test<d:/test.sql

这个是从"d:/"路径下还原数据库

·····························

mysql -u root -p test<first_backuptest.sql

这个是从mysql默认备份的地址还原数据库


--------------------------------------------------------------------------------

备份整个数据库:

mysqldump -u root -p --all-databases>d:/all_databases2014_5_8.sql

或者

mysqldump -u root -p -A>d:/all_databases2014_5_8.sql


备份多个数据库:

mysqldump -u root -p -B db1 db2>d:/all_databases5_8_3.sql

或者

mysqldump -u root -p --database  db1 db2>d:/all_databases5_8_3.sql


备份数据库db中的表table1:

mysqldump -u root -p db table1>d:/table_table1.sql


备份数据库db中的多个表表table1,table2,table3:

mysqldump -u root -p db table1 table2 table3>d:/table_total.sql


备份数据库的架构(没有数据,只有字段):

mysqldump -u root -p --no-data --database db1 db2>d:/dball_jg.sql

或者mysqldump -u root -p -d db>d:/db_jg2.sql



还原整个数据库:

mysql -u root -p <d:/all_databases2014_5_8.sql


还原多个数据库(等同于恢复整个数据库):

mysql -u root -p <d:/all_databases5_8_3.sql


还原数据库的架构(没有数据,只有字段):

mysql -u root -p <d:/hzkj_jg.sql


注:

1,使用--database或-B选项(“--database”:前面一定是两个短杠,如果用“-B”,一定要是大写),可以备份多个数据库,在这个选项名后的所有参数都被认定为数据库名,如不带该选项,则第二个参数将被认定为表名;

2,--all--database等同-A;

3,--no-data等同-d;

4,上面的实例-h localhost可省略,它表示备份本机的mysql;

5,只备份一个必须指定要恢复的数据库,如mysql -u root -p test<first_backuptest.sql中,-p后面的test必须有,这个原因是因为备份出来的sql文件中,可以看到没有创建的功能,而下面恢复数据库不需要指定是因为备份的sql文件中有创建并选择数据库的语句,像下面这些:


--
-- Current Database: `test`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `test`;
--
-- Table structure for table `student`
--


如果不想必须指定,可以参考备份多个数据库的形式,只备份一个数据库,还原的时候就不需要选择数据库了,而且mysql里面也不一定非要存在需要恢复的数据库。


本文出自 “东方小阁” 博客,请务必保留此出处http://lailai.blog.51cto.com/3362373/1408908