mysql sqldump 备份
Posted leolzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
5. 示例
@echo off set mysqldump="E:\\mariadb-10.4.7\\bin\\mysqldump" set date_string=%date:~0,4%_%date:~5,2%_%date:~8,2% set back_path=E:\\mysql_bf if not exist %back_path% md %back_path% set database=auth-center set username=root set password=123456 set password2=123qwe set file_auth=%back_path%\\auth-%date_string% set file_user=%back_path%\\user-%date_string% set file_jczy=%back_path%\\jczy-%date_string% set file_eprevent=%back_path%\\eprevent-%date_string% set file_portal=%back_path%\\portal-%date_string% set file_quality=%back_path%\\quality-%date_string% set file_etl=%back_path%\\etl-%date_string% set file_consultation=%back_path%\\consultation-%date_string% %mysqldump% -h192.168.59.126 -P3106 -u %username% --password=%password% auth-center >%file_auth%.sql %mysqldump% -h192.168.59.126 -P3106 -u %username% --password=%password% user-center >%file_user%.sql %mysqldump% -h192.168.59.126 -P3106 -u %username% --password=%password% jczy_gis >%file_jczy%.sql %mysqldump% -h192.168.59.3 -P3306 -u %username% --password=%password% eprevent >%file_eprevent%.sql %mysqldump% -h192.168.59.3 -P3306 -u %username% --password=%password% portal >%file_portal%.sql %mysqldump% -h192.168.59.3 -P3306 -u %username% --password=%password% quality-center >%file_quality%.sql %mysqldump% -h192.168.59.3 -P3306 -u %username% --password=%password% etl >%file_etl%.sql %mysqldump% -h192.168.59.3 -P3306 -u %username% --password=%password% consultation >%file_consultation%.sql
以上是关于mysql sqldump 备份的主要内容,如果未能解决你的问题,请参考以下文章