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