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

yumo6667个月前 (03-29)技术文章74

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 官方文档



相关文章

解放你的双手,ubuntu定时自动备份MySQL数据库,亲测有效

1、新建一个文件夹存放备份的数据文件,根据个人需要放在合适的位置mkdir /home/cms_mysqlbackup 2、创建脚本文件,我放在home文件夹了,命名为autobackup.shcd...

分享一个MySQL binlog 远程备份脚本

概述从MySQL5.6开始,mysqlbinlog支持将远程服务器上的binlog实时复制到本地服务器上。mysqlbinlog的实时二进制复制功能并非简单的将远程服务器的日志复制过来,它是通过MyS...

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

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

MySQL无需API开发连接维格表,实现订单数据自动汇总到表单

MySQL用户使用场景:电商商家会将所有的订单信息存储到MySQL数据库中,同时还需同步到维格表进行汇总,便于企业人员查询及负责人查看某一时间段的数据,但一张订单常包含流水号、车号、货品名称,发/收货...

linux环境用mysqldump定时备份Mysql数据

一、Mysql备份脚本backup.shvi backup.sh#!/bin/bash # 保存备份个,备份31天的数据 number=31 # 备份保存路径 backup_dir=/home/mys...