数据库备份工具——mysqldump详解

yumo6663个月前 (03-29)技术文章27

mysqldump 是 MySQL 提供的一个备份工具,用于创建数据库的逻辑备份。备份生成的是 SQL 脚本文件,该文件包含重建数据库所需的 SQL 语句。以下是 mysqldump 的详细用法:

基本语法

mysqldump [options] dbname [tables]
  • options:各种选项,定义备份的行为。
  • dbname:要备份的数据库名。
  • tables:指定备份的表(可选)。

常用选项

  • -u:指定用户名。

-u username

  • -p:提示输入密码。

-p

  • -h:指定 MySQL 主机(默认为 localhost)。

-h hostname

  • -P:指定 MySQL 端口(默认为 3306)。

-P port

  • --all-databases:备份所有数据库。

--all-databases

  • --databases:备份指定数据库(包括创建数据库的 SQL 语句)。

--databases dbname1 dbname2

  • --tables:仅备份指定的表(与 --all-databases 配合使用时)。

--tables table1 table2

  • --single-transaction:使用事务备份(适用于 InnoDB 存储引擎,能够确保一致性)。

--single-transaction

  • --quick:逐行读取表,减少内存消耗。

--quick

  • --lock-tables:在备份期间锁定所有表(默认行为,适用于 MyISAM 存储引擎)。

--lock-tables

  • --no-data:仅备份数据库结构,不包括数据。

--no-data

  • --create-schema:在备份文件中包含 CREATE SCHEMA 语句。

--create-schema

示例

  • 备份单个数据库
mysqldump -u username -p dbname > backupfile.sql
  • 备份多个数据库
mysqldump -u username -p --databases dbname1 dbname2 > backupfile.sql
  • 备份所有数据库
mysqldump -u username -p --all-databases > backupfile.sql
  • 备份指定表
mysqldump -u username -p dbname table1 table2 > backupfile.sql
  • 备份数据结构
mysqldump -u username -p --no-data dbname > backupfile.sql
  • 使用事务备份
mysqldump -u username -p --single-transaction dbname > backupfile.sql
  • 压缩备份
mysqldump -u username -p dbname | gzip > backupfile.sql.gz

恢复数据库

将备份文件恢复到数据库中,可以使用 mysql 命令:

mysql -u username -p dbname < backupfile.sql

参考文档

要获取 mysqldump 的更多选项和详细信息,可以参考 MySQL 官方文档



相关文章

windows下mysql自动备份及备份同步至NAS解决方案

一、问题描述某项目客户要求把阿里云上一台ECS非核心的mysql库做备份,具体要求如下:1、每天1:00对mysql数据库进行完全备份。2、备份文件存放到阿里云的NAS平台上。3、保留5天的备份副本。...

在Windows Server上自动执行数据库和文件夹备份

介绍为服务器提供自动备份策略的重要性这是非常有必要的。每个服务器管理员都必须完成设置备份的繁重工作,包括编写脚本、安排任务、设置警报等等。为了简化这个任务,我分享一个实用程序来帮助服务器管理员和数据库...

使用mysqldump+crontab实现Mysql定时备份

一直在用ubuntu16.04 server apt-get 安装环境,客户需求每天0点,12点进行一次数据库的备份。所以写了一个脚本配合crontab,定时执行。首先给mysql建个cnf文件,在脚...

MySQL管理授权和数据库的备份和还原详解

一般管理用户和授权由DBA去执行,DBA为数据库管理员一、管理用户1.添加用户CREATE USER '用户名'@'主机名'IDENTIFIED BY'密码';2.删除用户DROP USER '用户名...

Navicat实现 MYSQL数据库备份图文教程

#头条文章养成计划#数据库备份对于系统运维来说是必不可少的环节,对于企业来说,最珍贵的不是业务系统本身,而是业务系统所承载的业务数据,所以针对企业系统来说,做好数据库备份显得非常重要,今天给大家介绍使...

Linux下如何定时备份Mysql

一、前言前段时间本论坛的数据库被黑客攻击,有很多数据都找不回来。只因工作太忙,一直没有时间做论坛的数据备份。这次做备份,顺便把过程分享给大家二、生成脚本0、生成脚本前,先针对脚本执行所需要的快捷键操作...