MySQL备份命令mysqldump参数说明与示例
封面图
•
2025-11-07
•
MySQL
216
0
0
0
`mysqldump` 是 MySQL 提供的一个用于备份数据库的实用工具,它可以将数据库中的数据和结构导出为 SQL 文件。下面是 `mysqldump` 常用参数的说明及示例。 --- ## ✅ 一、常用参数说明 | 参数 | 说明 | |------|------| | `-u` | 指定数据库用户名 | | `-p` | 提示输入密码(也可以直接在命令后写 `password`,但不推荐) | | `-h` | 指定主机名或 IP 地址(默认是本地) | | `-P` | 指定端口号(默认是 3306) | | `-d` | 只导出表结构(不包括数据) | | `-t` | 只导出数据(不包括表结构) | | `--no-create-info` | 不生成创建表的语句 | | `--single-transaction` | 在 InnoDB 表中使用,保证一致性(适合在线备份) | | `--quick` | 不缓冲查询结果,直接输出(适用于大表) | | `--add-drop-table` | 在每个表前添加 `DROP TABLE IF EXISTS` 语句 | | `--events` | 导出事件(Event) | | `--routines` | 导出存储过程和函数(Routines) | | `--triggers` | 导出触发器(Triggers) | | `--lock-tables` | 锁定所有表(适用于 MyISAM) | | `--flush-logs` | 在备份前刷新日志(用于复制环境) | | `--master-data` | 记录二进制日志位置(用于主从复制) | --- ## ✅ 二、常见使用示例 ### 1. **备份整个数据库** ```bash mysqldump -u root -p mydatabase > backup.sql ``` - 备份名为 `mydatabase` 的数据库,保存为 `backup.sql`。 - 运行时会提示输入密码。 --- ### 2. **备份指定数据库的表** ```bash mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql ``` - 只备份 `table1` 和 `table2` 表。 --- ### 3. **只导出表结构(不包括数据)** ```bash mysqldump -u root -p -d mydatabase > schema.sql ``` --- ### 4. **只导出数据(不包括表结构)** ```bash mysqldump -u root -p -t mydatabase > data.sql ``` --- ### 5. **导出包含事件、存储过程、触发器的完整备份** ```bash mysqldump -u root -p --events --routines --triggers mydatabase > full_backup.sql ``` --- ### 6. **使用事务保证一致性(InnoDB)** ```bash mysqldump -u root -p --single-transaction mydatabase > transactional_backup.sql ``` --- ### 7. **远程备份(指定主机)** ```bash mysqldump -u root -p -h 192.168.1.100 -P 3306 mydatabase > remote_backup.sql ``` --- ### 8. **压缩备份(通过管道)** ```bash mysqldump -u root -p mydatabase | gzip > backup.sql.gz ``` --- ### 9. **导出到远程服务器(可结合 SSH)** ```bash mysqldump -u root -p mydatabase | ssh user@remote_server "cat > /path/to/backup.sql" ``` --- ## ✅ 三、恢复备份 要恢复备份文件,可以使用 `mysql` 命令: ```bash mysql -u root -p mydatabase < backup.sql ``` --- ## ✅ 四、注意事项 - **权限问题**:确保使用的用户有 `SELECT`, `LOCK TABLES`, `REPLICATION CLIENT` 等权限。 - **性能影响**:对生产环境进行备份时,建议使用 `--single-transaction` 或在低峰期执行。 - **安全**:不要在命令中直接写密码(如 `-p password`),避免泄露。 --- 如果你需要更详细的帮助,可以运行以下命令查看 `mysqldump` 的完整帮助文档: ```bash mysqldump --help ``` 是否需要我帮你写一个自动备份脚本?
上一篇:
mysql-front导入数据失败:“在多字节的目标代码页中,没有此 Unicode 字符可以映射到
下一篇:
MySql的like语句中的通配符:百分号、下划线和escape
标题录入,一次不能超过6条
留言
评论