实验环境:win10+mysql5.6.26
以下操作,全程DOS小黑窗。
MySQL提供了一个mysqldump命令,它可以实现数据的备份。mysqldump命令可以备份单个数据库、多个数据库和所有数据库,具体如下:
备份单个数据库:
D:\App\mysql-5.6.26-winx64\bin>mysqldump -uroot -proot test>d:/备份文件/back.sql
-u -p,这几个参数大家应该都知道,不过我再说一下吧,
-u 用户名 -p用户密码
'test',是要备份的数据库名称,'d:/备份文件/back.sql',是存放地址,将备份文件命名back.sql存放在'备份文件'的文件夹下。
有的情况下你可能会报错,像这个样子:
Warning: Using a password on the command line interface can be insecure.
他的意思是,警告:在命令行界面上使用密码可能不安全。
淡定,不要着急,你这样就好了
D:\App\mysql-5.6.26-winx64\bin>mysqldump -uroot -p test>d:/备份文件/back.sql
注意下,-p那里,在这里我不输入密码,然后直接回车,让系统提示你输入密码,这个时候你再输入密码就可以了。
Enter password: ****
在使用mysqldump命令备份数据库的时候,直接在小黑窗(DOS)命令下执行该命令就可以了,不需要登录到MySQL数据库。
备份全部数据库:
介绍完了单个数据库的备份,该说说备份全部数据库了,命令如下:
D:\App\mysql-5.6.26-winx64\bin>mysqldump -uroot -p --all-databases>d:/备份文件/backall.sql
注意了,这里的--all是--,--all和-databases之间是没有空格的,如果有空格将会报错如下:
mysqldump: ambiguous option '--all' (all-databases, allow-keywords)
恢复备份:
嗯,以上的是据库备份命令,现在咱们看下备份以后如何进行恢复,首先是恢复单个备份的数库据文件,
注意:你需要先创建一个数据库,然后将备份文件恢复到创建的这个数据库当中,注意<符号,与备份时的>恰恰相反,命令如下:
D:\App\mysql-5.6.26-winx64\bin>mysql -uroot -p test
然后提示输入密码,直接输入密码就好:
Enter password: ****
恢复成功后没有任何提示,这是正常的。
全部备份的恢复如下,它和单个数据库的恢复是有一些区别的:
D:\App\mysql-5.6.26-winx64\bin>mysql -uroot -p
当你使用“--all-databases”参数备份所有的数据库后,在还原数据库时,你不需要再创建数据库并指定要操作的数据库,因为,对应的备份文件中包含了CREATE DATABASE语句和USE语句。
除了上面说的这种方法,还有一种方法是可以恢复数据的。
source 备份文件的路径+备份文件名称
1.先登录数据库,然后切换到要操作的数据库,我们还是先进行单个数据库的恢复。
D:\App\mysql-5.6.26-winx64\bin>mysql -uroot -proot -hlocalhost
mysql> use test
Database changed
2.在该数据库下进行恢复:
mysql> source D:\备份文件/back.sql
那么全部备份的恢复方法呢?
它和单个数据库备份的恢复也是有区别的,全部数据库的恢复在登录之后不需要选择要操作的数据库,也就是没有以下这步:
mysql> use test
直接像下面一样就可以了:
D:\App\mysql-5.6.26-winx64\bin>mysql -uroot -proot -hlocalhost
mysql> source D:\备份文件/allback.sql
好了,以上就是数据库的备份与恢复方法。