MySQL数据备份 mysqldump 详解

时间:2022-09-18 14:24:16

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...,之间用空格隔开

备份所有数据表

同备份单个数据库;