mysqldump 导出库的存过和events
时间: 2024-09-18 11:06:07 浏览: 32
`mysqldump` 是 MySQL 的一个实用工具,用于备份整个数据库或者单个表、模式等数据结构。当你要导出库(database)的存储引擎和事件(events)时,你需要指定相应的选项。
1. **导出存储引擎**:
使用 `mysqldump` 时,你可以通过指定库名 (`--databases <dbname>`) 来备份特定的库,然后加上 `-r` 或 `--result-file` 参数来保存备份文件。如果你只想导出某个库中的存储引擎(如 InnoDB),可以使用 `--complete-insert` 选项,并在命令行中包括 `--engine=innodb` 来指定仅包含 InnoDB 表。
```bash
mysqldump --user=<username> --password=<password> --host=<hostname> --port=<port> \
--result-file=<output_file.sql> --databases <dbname> --engine=innodb
```
2. **导出事件**:
MySQL 的事件通常位于 `mysql.event` 表中。为了导出所有事件,需要直接操作数据库,因为 `mysqldump` 不会默认包括它们。你可以连接到数据库并运行 SQL 查询来获取所有事件信息:
```sql
SELECT * FROM mysql.event;
```
然后将查询结果复制到另一个文件。如果要用 `mysqldump` 备份这个表,可以这样做:
```bash
mysqldump --user=<username> --password=<password> --host=<hostname> --port=<port> \
--no-create-info --no-data mysql.event > events.sql
```
这样只会导出 `mysql.event` 表的数据,不会创建新的数据库。
阅读全文