快速上手MySQLDump

mysqldump是一个备份程序,可以用来转储一个数据库或者数据库集合,用于备份或者将数据转移到另一个数据库,也不一定非要是MySQL服务器。转储的类型也包括SQL语句,如:创建表、填充表等。而且,mysqldump也可以用于生成CSV文件、分隔文本或者XML格式。

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的备份方法

上表展示了一些常见的 mysqldump 相关选项,当你不了解某个参数的作用时,可以执行 mysqldump –help 来获取帮助。对于布尔类型的参数,一般还存在一个与之对立的参数,如 –triggers 默认开启,可以使用 –skip-triggers 来禁用它。

几点备份小技巧

虽然 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  > /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 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/222963.html<

(0)
运维的头像运维
上一篇2025-04-15 18:02
下一篇 2025-04-15 18:04

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注