mysql sqldump 备份

参考:https://www.cnblogs.com/linuxk/p/9371475.html

1. windows 下面 创建  dump.bat 文件:

文件内容如下

"C:\Program Files\MariaDB 10.4\bin\mysqldump" -u root -p123456 metadata > D:\DB\mysql\metadata.sql

备注: 这个是mariadb 的路径:C:\Program Files\MariaDB 10.4\bin

用户名  root  密码:123456

备份数据库名称:metadata

备份到文件 D:\DB\mysql\metadata.sql

运行文件就可以生成备份文件

2、恢复操作

语法(Syntax):
mysql -u<username> -p<password> <dbname> < /opt/mytest_bak.sql   #库必须保留,空库也可
说明:指定dbname,相当于use <dbname>

3、-B参数备份和恢复(建议使用)

(1)备份操作
a、备份
mysqldump -uroot -p‘123456‘ -B mytest > /mnt/mytest_bak_B.sql

说明:加了-B参数后,备份文件中多的Create database和use mytest的命令
加-B参数的好处:
加上-B参数后,导出的数据文件中已存在创建库和使用库的语句,不需要手动在原库是创建库的操作,在恢复过程中不需要手动建库,可以直接还原恢复。

(2)恢复操作
a、删除mytest库
mysql -uroot -p‘123456‘ -e "drop database mytest;"
b、恢复数据
(1)使用不带参数的导出文件导入(导入时不指定要恢复的数据库),报错
mysql -uroot - p‘123456‘ < /mnt/mytest_bak.sql   
ERROR 1046 (3D000) at line 22: No database selected
(2)使用带-B参数的导出文件导入(导入时也不指定要恢复的数据库),成功
mysql -uroot -p‘123456‘ < /mnt/mytest_bak_B.sql 
c、查看数据
mysql -uroot -p‘123456‘ -e "select * from mytest.student;"
 

3、指定压缩命令来压缩备份文件

(1)备份
mysqldump -uroot -p‘123456‘  -B mytest | gzip > /mnt/mytest_bak_.sql.gz
说明:
mysqldump导出的文件是文本文件,压缩效率很高

4、备份多个数据库

(1)说明
通过-B参数指定相关数据库,每个数据库名之前用空格分格。当使用-B参数后,将所有数据库全部列全,则此时等同于-A参数。
(2)备份
mysqldump -uroot -p‘123456‘ -B mytest wiki | gzip > /mnt/mytestAndWiki_bak.sql.gz
 

相关推荐