mysqldump备份
mysqldump作为MySQL客户端自带的数据备份工具,在数据库的数据备份方面,使用起来还是非常方便的。
一般来说,在安装完成MySQL服务器或客户端之后,mysqldump可执行文件在安装目录的bin文件夹下。也就是说,跟mysql命令在同一个目录。
如果MySQL的bin目录,没有被配置到操作系统的PATH环境变量下时,需要在命令行先cd到MySQL的bin目录才可以使用。
下面列出一些mysqldump使用的示例供大家参考:
(1)、导出所有数据库的数据和结构
格式:mysqldump -h服务器端IP -P端口号(注意这里的P是大写的) -u用户名 -p密码(注意这里的p是小写的) -A(该参数表示导出所有数据库)> 导出的目录文件
这里的-A参数与--all-databases参数是等价的
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot -A > d:\all.sql mysqldump -h127.0.0.1 -P3306 -uroot -proot --all-databases > d:\all.sql
(2)、导出所有数据库的数据
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 -A -t> 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot -A -t > d:\all-t.sql
(3)、导出所有数据库的结构
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 -A -d> 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot -A -d > d:\all-d.sql
(4)、导出单个数据库的数据和结构
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 databasename(要导出的数据库名)> 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot test > d:\test.sql
(5)、导出单个数据库的数据
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 databasename -t> 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot test -t> d:\test-t.sql
(6)、导出单个数据库的结构
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 databasename -d> 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot test -d> d:\test-d.sql
(7)、同时备份多个数据库的数据和结构
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 --databases databasename1 databasename2 databasename3 > 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot --databases mystudy test > d:\my.sql
(8)、同时备份多个数据库的数据
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 --databases databasename1 databasename2 databasename3 -t> 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot --databases mystudy test -t> d:\my-t.sql
(9)、同时备份多个数据库的结构
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 --databases databasename1 databasename2 databasename3 -d> 导出的目录文件
这里的--databases参数与-B参数是等价的。
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot --databases mystudy test -d> d:\my-d.sql mysqldump -h127.0.0.1 -P3306 -uroot -proot -B mystudy test -d> d:\my-d.sql
(10)、导出指定数据库下的指定表
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 --databases databasename --tables table1 table2 table3 > 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot --databases test --tables bike bike_stop > d:\my-d.sql
(11)、导出所有数据库下的存储过程及自定义函数
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 --all-databases --routines > 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot --all-databases --routines > d:\routines.sql
(12)、导出所有数据库下的触发器
格式:mysqldump -h服务器端IP -P端口号 -u用户名 -p密码 --all-databases --triggers > 导出的目录文件
示例:
mysqldump -h127.0.0.1 -P3306 -uroot -proot --all-databases --triggers > d:\triggers.sql
导出数据的还原
(1)、还原全部整个数据库
在MySQL命令行里,可以使用命令:
mysql> source d:\all.sql
在系统命令里,可以使用命令:
mysql -h127.0.0.1 -uroot -proot < d:\all.sql
(2)、还原单个数据库,需要在还原时,指定数据库
在MySQL命令行里,可以使用命令: mysql> use test
mysql> source d:\test.sql
在系统命令里,可以使用命令:
mysql -h127.0.0.1 -uroot -proot test < d:\test.sql
(3)、还原多个数据库
此时不需要指定数据库,与上面示例(1)还原全部整个数据库的操作是一样的。
(4)、还原单个数据库中的多个表
此时也需要指定数据库,与上面示例(2)还原单个数据库的操作是一样的。