mysqldump属于哪种备份(MySQLDump的备份小技巧)
mysqldump属于哪种备份
MySQLDump的备份小技巧
前言:
mysqldump 是日常比较常用的一个工具了,在对数据库进行导出工作时,经常会用到 mysqldump 。本篇文章将介绍 mysqldump 工具的使用方法并分享几点备份技巧。
1.mysqldump使用简介
mysqldump 是 MySQL 系统自带的逻辑备份工具,主要用于转储数据库。它主要产生一系列的 SQL 语句,可以封装到文件,该文件包含重建数据库所需要的 SQL 命令如 CREATE DATABASE ,CREATE TABLE ,INSERT 等等。当我们需要还原这些数据时,只需要执行此文件,即可将对应的数据还原。
mysqldump 基础使用语法如下:
- Usage: mysqldump [OPTIONS] database [tables]
- OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
- OR mysqldump [OPTIONS] --all-databases [OPTIONS]
执行 mysqldump --help 或参考 MySQL 官方文档,我们发现 mysqldump 工具可配置的参数有很多,以下简要说明部分常用的参数。
上表展示了一些常见的 mysqldump 相关选项,当你不了解某个参数的作用时,可以执行 mysqldump --help 来获取帮助。对于布尔类型的参数,一般还存在一个与之对立的参数,如 --triggers 默认开启,可以使用 --skip-triggers 来禁用它。
2.几点备份小技巧
虽然 mysqldump 不太适用于大数据量的备份,但因其具有灵活方便、可根据场景定制参数等优点,还是被广泛应用在数据导出领域。
笔者根据自己的使用经验,简单分享几点 mysqldump 备份小技巧:
- 建议使用 --single-transaction 参数来获得一致性备份,减少锁表。
- 按需求来导出,只要自己想要的数据,尽量减少导出文件大小。
- 若想用于搭建从库,建议使用 --master-data = 2 参数记录主库 binlog 信息。
- 若想备份存储过程、自定义函数及事件,请加 -R -E 参数,此二者默认不开启。
- 不了解的参数不要随意加,按默认即可。
下面分享几个不同场景下的 mysqldump 使用方法:
- # 备份全部数据库(包含存储过程、自定义函数及事件)
- mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases > /tmp/all_database.sql
- # 要求记录 binlog 位点信息 可用于搭建从库
- mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql
- # 备份指定数据库
- mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 > /tmp/db1.sql
- mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql
- # 备份部分表
- mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 > /tmp/tb1.sql
- mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql
- # 导出某个表,数据以单行insert显示
- mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql
- # 导出单表的部分数据
- mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where=" create_time >= '2021-06-01 00:00:00' " > /tmp/tb1.sql
- mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where='id < 10' > /tmp/tb1.sql
- # 排除某些表导出
- mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql
- # 只导出结构或只导出数据
- mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql
- mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql
- # 只导出某个库的存储过程及自定义函数
- mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql
- # 远程导出 即MySQL服务端不在本地
- mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql
总结:
本篇文章主要介绍了 mysqldump 工具的使用方法及一些常见场景。mysqldump 作为一个实用工具,希望各位都能上手学习下,比用 Navicat 等图形化界面导出更快速,且文件体积小。
原文链接:https://mp.weixin.qq.com/s/n7DSeI7F6t2drX-rlmre8A
- sqlserver备份数据库语句(SQL SERVER 数据库备份的三种策略及语句)
- mysql数据备份的几种方式(MySQL数据库备份过程的注意事项)
- docker镜像保存教程(docker镜像导入导出备份迁移的操作)
- python导出数据到mysql(python定时按日期备份MySQL数据并压缩)
- sqlserver设置自动备份的注意事项(SQL server 定时自动备份数据库的图文方法)
- sqlserver2008手动备份方法(MSSQL 2008 自动备份数据库的设置方法)
- sql server2008自动备份数据(SQL Server数据库定时自动备份)
- 数据库差异备份
- sqlserver实例全库备份(sql server通过脚本进行数据库压缩全备份的方法推荐)
- sql server2012自动备份(SQL SERVER 2012数据库自动备份的方法)
- sqlserver备份还原地址(SqlServer高版本数据备份还原到低版本)
- sql server数据库备份计划(SQL Server数据库设置自动备份策略的完整步骤)
- sqlserver如何设置定时备份(SQL Server使用脚本实现自动备份的思路详解)
- docker镜像重启数据丢失(Docker数据备份恢复实现过程详解)
- mysql数据库调优技术大全(Mysql数据库性能优化三分表、增量备份、还原)
- MySQL中使用mysqldump命令备份
- 看完《夺冠》,黄渤的演技我实在夸不起来,彭昱畅反令人惊喜(黄渤的演技我实在夸不起来)
- 黄渤泪目 我的痴呆父亲,我内心永远的痛(黄渤泪目我的痴呆父亲)
- 蒜苔和鱿鱼尾巴一起炒,味道特别棒,又脆又嫩,有滋又有味(蒜苔和鱿鱼尾巴一起炒)
- 鱿鱼炒蒜苔不是黑暗料理,这样做清香扑鼻,鲜美脆嫩,开胃又下饭(鱿鱼炒蒜苔不是黑暗料理)
- 蒜苔炒鱿鱼(蒜苔炒鱿鱼)
- 远离 五毛食品 洛阳80后妈妈发明的 飞行棋 成校园爆款 玩具(远离五毛食品)
热门推荐
- python类中的数据封装(基于python生成器封装的协程类)
- vue 单文件组件(vue实现一个单文件组件的完整过程记录)
- mysqlsql语句的优化(MySQL优化之如何写出高质量sql语句)
- dedecms是静态吗(dedecms全站伪静态的实现方法及注意事项)
- sql如何查找10个以上的数据(SQL中查找某几个字段完全一样的数据)
- 关于docker安全之Docker-TLS加密通讯问题(关于docker安全之Docker-TLS加密通讯问题)
- laravel5.7项目实战(基于Laravel 5.2 regex验证的正确写法)
- mongodb insert操作
- linux后台运行程序的命令(在后台运行Linux命令的方法)
- javascript登录转注册界面(JavaScript实现登录窗体)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9