# mysqldump 使用

URL: https://caijiao.org/mariadb/admin/backup/mysqldump
Source: docs/mariadb/admin/backup/mysqldump.md
Description: 本节介绍使用 mysqldump 工具备份和恢复 MariaDB 数据库，包括导出数据库、表和数据的常用命令及参数示例。

## 1. 什么是 mysqldump

`mysqldump` 是 MariaDB 自带的命令行工具，用于导出数据库结构和数据，常用于备份和迁移。

## 2. 导出整个数据库

```bash
mysqldump -u 用户名 -p 数据库名 > backup.sql
````

示例：

```bash
mysqldump -u root -p mydatabase > mydatabase_backup.sql
```

系统会提示输入密码，导出 SQL 文件 `mydatabase_backup.sql`。

## 3. 导出指定表

```bash
mysqldump -u 用户名 -p 数据库名 表名1 表名2 > tables_backup.sql
```

示例：

```bash
mysqldump -u root -p mydatabase users orders > tables_backup.sql
```

## 4. 导出所有数据库

```bash
mysqldump -u 用户名 -p --all-databases > all_databases_backup.sql
```

## 5. 恢复数据库

使用导出的 SQL 文件恢复数据库：

```bash
mysql -u 用户名 -p 数据库名 < backup.sql
```

示例：

```bash
mysql -u root -p mydatabase < mydatabase_backup.sql
```

## 6. 常用参数

* `--single-transaction`：导出时保证事务一致性，适合 InnoDB。
* `--lock-tables=false`：不锁表，适用于高并发环境。
* `--routines`：导出存储过程和函数。
* `--triggers`：导出触发器（默认启用）。

---

使用 mysqldump 进行定期备份，有助于保障数据安全和业务连续性。
