mysqldump - 给 DBA 的 25 个小技巧

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
  1. mysqldump 是文本备份还是二进制备份

    它是文本备份,如果你打开备份文件你将看到所有的语句,可以用于重新创建表和对象。它也有 insert 语句来使用数据构成表。
  2. mysqldump 的语法是什么?

     mysqldump -u [uname] -p[pass] –databases [dbname][dbname2] > [backupfile.sql]
  3. 使用 mysqldump 怎样备份所有数据库?

    mysqldump -u root -p –all-databases > backupfile.sql
  4. 使用 mysqldump 怎样备份指定的数据库?

    mysqldump -u root -p –databases school hospital > backupfile.sql
  5. 使用 mysqldump 怎样备份指定的表?

    mysqldump –user=root –password=mypassword -h localhost databasename table_name_to_dump table_name_to_dump_2 > dump_only_two_tables_file.sql
  6. 我不想要数据,怎样仅获取 DDL?

    mysqldump -u root -p –all-databases –no-data > backupfile.sql
  7. 一次 mysqldump 备份花费多长时间?

    这依赖于数据库大小,100 GB 大小的数据库可能花费两小时或更长时间
  8. 怎样备份位于其他服务器的远程数据库?

    mysqldump -h 172.16.25.126 -u root -ppass dbname > dbname.sql
  9. –routines 选项的含义是什么?

    通过使用 -routines 产生的输出包含 CREATE PROCEDURE 和 CREATE FUNCTION 语句用于重新创建 routines。如果你有 procedures 或 functions 你需要使用这个选项
  10. 怎样列出 mysqldump 中的所有选项?

    mysqldump –help
  11. mysqldump 中常用的选项是?

    All-databases
    Databases 
    Routines
    Single-transaction (它不会锁住表) – 一直在 innodb databases 中使用
    Master-data – 复制 (现在忽略了)
    No-data – 它将 dump 一个没有数据的空白数据库
  12. 默认所有的 triggers 都会备份吗?

    是的
  13. single transaction 选项的含义是什么?

    –singletransaction 选项避免了 innodb databases 备份期间的任何锁,如果你使用这个选项,在备份期间,没有锁
  14. 使用 mysqldump 备份的常用命令是什么?

    nohup mysqldump –socket=mysql.sock –user=user1 –password=pass –single-transaction –flush-logs –master-data=2 –all-databases –extended-insert –quick –routines > market_dump.sql 2> market_dump.err &
  15. 使用 mysqldump 怎样压缩一个备份?

    注意: 压缩会降低备份的速度
    Mysqldump [options] | gzip > backup.sql.gz
  16. mysqldump 备份大数据库是否是理想的?

    依赖于你的硬件,包括可用的内存和硬盘驱动器速度,一个在 5GB 和 20GB 之间适当的数据库大小。 虽然有可能使用  mysqldump 备份 200GB 的数据库,这种单一线程的方法需要时间来执行。
  17. 怎样通过使用 mysqldump 来恢复备份?

  • 使用来源数据的方法

  • Mysql –u root –p < backup.sql

在恢复期间我想记录错误到日志中,我也想看看恢复的执行时间?Time Mysql –u root –p < backup.sql > backup.out 2>&1怎样知道恢复是否正在进行?显示完整的进程列表如果数据库是巨大的,你不得不做的事情是?使用 nohup 在后台运行它我是否可以在 windows 上使用 mysqldump 备份然后在 linux 服务器上恢复?是的我怎么传输文件到目标服务器上去?
  • 使用 scp

  • 使用 sftp

  • 使用 winscp

如果我使用一个巨大的备份文件来源来恢复会发生什么?如果你的一个数据库备份文件来源,它可能需要很长时间运行。处理这种情况更好的方式是使用 nohup 来在后台运行。也可使用在 unix 中的 screen 代替默认情况下,mysqldump 包含 drop 数据库吗?你需要添加 –add-drop-database 选项怎样从一个多数据库备份中提取一个数据库备份(假设数据库名字是 test)?sed -n '/^-- Current Database: `test`/,/^-- Current Database: `/p' fulldump.sql > test.sql









本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1811691,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
存储 SQL 关系型数据库
在 MySQL 中使用 Drop Database
【8月更文挑战第11天】
139 0
在 MySQL 中使用 Drop Database
|
6月前
|
存储 SQL 关系型数据库
探索数据库的世界:DB、DBMS、DBA、DBS的全面介绍
探索数据库的世界:DB、DBMS、DBA、DBS的全面介绍
894 0
|
Oracle 关系型数据库 MySQL
在Oracle和MySQL上安装hr schema、example和Scott schema
19c examples 安装完成,在$ORACLE_HOME/demo/schema/human_resources 目录下执行hr_main.sql 文件创建 hr用户
169 0
|
Oracle 关系型数据库 数据库
Oracle备份与还原(Expdp/Impdp)
Oracle备份与还原(Expdp/Impdp) 运行cmd; 登陆数据库,输入命令:sqlplus 用户名/密码; 建立目录对象:  在建立目录对象前查询是否存在目录对象,若存在则不需要创建:  select * from ALL_DIRECTORIES;  若不想要自己所创建的目录对象可.
2024 0
|
Oracle 关系型数据库 数据库
Oracle 11gR2 中使用expdp导出数据
一:导出前期准备: 1.创建目录对象: CREATE DIRECTORY dump_dir AS ‘c:\dump’; 2.在操作系统上创建相应的目录。
1206 0
|
监控 关系型数据库 MySQL
MySQL DBA 日常工作
最近有很多同学在跑路,有的会选择加入到DBA这个行业,可能之前做过开发,或者运维等相关行业,写这篇文章就是想让大家了解一下MySQL DBA正常工作的内容。也让大家更了解MySQL DBA。
2782 0
|
Oracle 关系型数据库 网络安全
|
SQL Oracle 关系型数据库
|
数据库 内存技术 关系型数据库