文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQLDump的备份小技巧

2024-12-03 01:20

关注

1.mysqldump使用简介

mysqldump 是 MySQL 系统自带的逻辑备份工具,主要用于转储数据库。它主要产生一系列的 SQL 语句,可以封装到文件,该文件包含重建数据库所需要的 SQL 命令如 CREATE DATABASE ,CREATE TABLE ,INSERT 等等。当我们需要还原这些数据时,只需要执行此文件,即可将对应的数据还原。

mysqldump 基础使用语法如下:

  1. Usage: mysqldump [OPTIONS] database [tables] 
  2. OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] 
  3. OR     mysqldump [OPTIONS] --all-databases [OPTIONS] 

执行 mysqldump --help 或参考 MySQL 官方文档,我们发现 mysqldump 工具可配置的参数有很多,以下简要说明部分常用的参数。

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

2.几点备份小技巧

虽然 mysqldump 不太适用于大数据量的备份,但因其具有灵活方便、可根据场景定制参数等优点,还是被广泛应用在数据导出领域。

笔者根据自己的使用经验,简单分享几点 mysqldump 备份小技巧:

下面分享几个不同场景下的 mysqldump 使用方法:

  1. # 备份全部数据库(包含存储过程、自定义函数及事件) 
  2. mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases > /tmp/all_database.sql 
  3.  
  4. # 要求记录 binlog 位点信息 可用于搭建从库 
  5. mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql 
  6.  
  7. # 备份指定数据库 
  8. mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 > /tmp/db1.sql 
  9. mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql 
  10.  
  11. # 备份部分表 
  12. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 > /tmp/tb1.sql 
  13. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql 
  14.  
  15. # 导出某个表,数据以单行insert显示 
  16. mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql 
  17.  
  18. # 导出单表的部分数据 
  19. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where=" create_time >= '2021-06-01 00:00:00' " > /tmp/tb1.sql 
  20. mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where='id < 10' > /tmp/tb1.sql 
  21.  
  22. # 排除某些表导出 
  23. mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql 
  24.  
  25. # 只导出结构或只导出数据 
  26. mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql 
  27. mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql 
  28.  
  29. # 只导出某个库的存储过程及自定义函数 
  30. mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql 
  31.  
  32. # 远程导出 即MySQL服务端不在本地 
  33. mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql 

总结:

本篇文章主要介绍了 mysqldump 工具的使用方法及一些常见场景。mysqldump 作为一个实用工具,希望各位都能上手学习下,比用 Navicat 等图形化界面导出更快速,且文件体积小。

 

来源:MySQL技术内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯