MySQL数据备份 mysqldump 详解
MySQL数据备份流程
1 |
打开cmd窗口 |
通过命令进行数据备份与恢复; 需要在Windows的命令行窗口中进行; l 开始菜单,在运行中输入cmd回车; l 或者win+R,然后输入cmd回车,即可打开命令行窗口; |
2 |
切换当前目录 |
将当前目录切换到mysqldump.exe所在的文件夹路径; cd C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin cd=change directory =切换目录 |
3 |
输入备份命令 |
mysqldump命令
|
mysqldump 命令基本格式
mysqldump -u user -h host -ppassword dbname[tbname,...]>filename.sq
-u表示用户名,-u和用户名之间可以有空格,也可以没有空格;
-h表示主机名称,本地计算机用localhost,远程计算机用IP地址;
-h和host之间可以有空格,也可以没有空格;
-h后面如果是本地计算机localhost,那么-h可以省略;
-p表示登录密码,-p和password之间绝对不能有空格;
-p之后可以直接填写登录密码,也可以为空,为空表示该命令执行之后,再输入密码;
-p之后没有密码时,系统提示输入密码Enter password: ******,并以密码符号*隐藏密码;
-u-h-p三者之间的位置关系可以随便互换,就是说谁在前谁在后,该命令都是正确的;
举例:
省略主机名,显式输入密码:
mysqldump -uroot -p123456 test >C:\Users\Administrator\Desktop\test.sql
制定主机名,并显式输入密码:
mysqldump -hlocalhost -uroot -p123456 test >C:\Users\Administrator\Desktop\test.sql
互换-u-h-p的位置,-u后空格可有可无;-h后空格可有可无
mysqldump -uroot -h localhost -p123456 test >C:\Users\Administrator\Desktop\test.sql
mysqldump -p123456 -uroot -h localhost test >C:\Users\Administrator\Desktop\test.sql
mysqldump -h localhost -uroot -p123456 test >C:\Users\Administrator\Desktop\test.sql
隐式输入密码
mysqldump -p -uroot -h localhost test >C:\Users\Administrator\Desktop\test.sql
Enter password: ******
关于大小写问题
cmd命令和MySQL命令一样,不区分大小写;
C:\Users等同于c:\users,testDB等同于testdb;
关于空格的问题
-u |
空格可有可无 |
-uroot ✔ -u root ✔ |
-h |
空格可有可无 |
-hhost ✔ -h host ✔ |
-p |
不能有空格 |
-ppassword ✔ -p password ✖ |
关于顺序的问题
无空格 |
-uuser -hhost -ppassword ✔ -uuser -ppassword -hhost ✔ -hhost -uuser -ppassword ✔ -hhost -ppassword -uuser ✔ -ppassword -hhost -uuser ✔ -ppassword -uuser -hhost ✔ |
有空格 |
-u user -h host -ppassword ✔ -u user -ppassword -h host ✔ -h host -u user -ppassword ✔ -h host -ppassword -u user ✔ -ppassword -h host -u user ✔ -ppassword -u user -h host ✔ |
省略-h |
-uuser -ppassword ✔ -ppassword -uuser ✔ |
不写密码 |
-uuser -p ✔ -p -uuser ✔ |
|
|
根据备份内容不同
备份一个数据库 |
mysqldump -uroot -p testDB >D:\test.sql 备份单个数据库,表示备份该数据库中所有表; |
备份多个数据库 |
mysqldump -uroot -p --databases db1 db2 db3 >D:3db.sql 关键字--databases,数据库名称之间用空格隔开 |
备份所有数据库 |
mysqldump -uroot -p --all-databases db1 db2 db3 >D:3db.sql 关键字--all-databases |
备份一个数据表 |
mysqldump -uroot -p testDB table >D:\test.sql 格式:库 表,用空格隔开 |
备份多个数据表 |
mysqldump -uroot -p testDB table1 table2 table3 >D:\test.sql 格式:库 表1 表2 表3...,之间用空格隔开 |
备份所有数据表 |
同备份单个数据库; |