这里记录下MySQL如何通过命令行备份和还原数据库。
简单的三个步骤
方法很简单,可以分为三个步骤:
1.打开cmd控制台(命令行)。
2.输入相应命令完成备份还原操作。
3.关闭cmd控制台。
就和三步将大象塞进冰箱是一样的,非常简单(手动滑稽)。
备份和还原的命令
备份用的是mysqldump命令:
mysqldump -u 用户名 -p -d 数据库名 -t 表名 > 盘符:\路径\文件名.sql
这里的-d和-t能够省略。
还原用的是source命令:
source 盘符:\路径\文件名.sql;
备份和还原数据库的示例
假设现在有一个yanggb数据库,我要通过命令行去备份和还原这个库。
在备份/还原之前,如果没有配置MySQL执行环境的环境变量的话,首先要cd到MySQL安装目录的bin目录。
备份(导出)yanggb数据库:
mysqldump -u root -p yanggb > d:\yanggb.sql
输入完上述命令之后,会提示让你输入密码,输入root用户正确的密码就会开始yanggb库的备份了。
另外的,也可以只备份yanggb数据库中的renj表:
mysqldump -u root -p yanggb renj > d:\yanggb.renj.sql
执行还原命令之前,首先要登录到mysql:
mysql -u root -p
输入root用户正确的密码就可以登录上了。
然后要选择一个还原的目标数据库:
use yanggb1;
这里就还原到yanggb1库好了,如果没有yanggb1库的话,你首先要创建一个yanggb1的库。
还原yanggb数据库:
source d:/yanggb.sql;
这样,就完成yanggb数据库的备份和还原。
借助Navicat工具高效备份和还原
如果借助Navicat工具的【转储SQL文件】和【运行SQL文件】两个功能会使事情变得简单得多,但是原理还是上面的命令,只是简化了操作,因此上面的命令了解一下还是很必要的。另外Navicat的执行效率要比直接在命令行执行要高得多,如果能借助Navicat工具的话尽量选择这种方式。
使用非常简单,在要备份还原的数据库上点击右键即可在右键菜单中看见这两个功能。要注意的是,这两个功能都要在数据库被打开且被选中的情况下使用。
总结
如果细心的你查看了导出的SQL文件,就会发现,这个命令行备份主要是导出了完整的SQL脚本,里面包括了删除表(如果表存在),创建表,往表中插入数据的SQL语句。然后使用source命令是执行保存在本地磁盘上的脚本文件。这种方式实际上是将原来的表删除,然后创建新的表,再一行一行地往表中插入记录。如果库、表中的数据很多的话,效率就很慢,性能很低。积极寻找怎么快速完成MySQL备份还原的方法是一个新的课题。
"我只能像现在这样,不吵不闹,不悲不喜,安安静静的,与你再无交集。"