mysqldump 参数大全和基本用例
mysqldump 是 MySQL 数据库的一个备份程序,它可以将数据库转储成 SQL 文件。以下是 mysqldump 命令的常用参数和基本用例:
参数:
-u, --user=name 指定连接 MySQL 服务器的用户名
-p, --password[=name] 指定连接 MySQL 服务器的密码
-h, --host=name 指定连接的 MySQL 服务器的主机名
-P, --port=# 指定连接的 MySQL 服务器的端口号
-d, --no-data 不备份数据,只备份表结构
-t, --no-create-info 不备份建表语句,只备份数据
-B, --databases 指定要备份的数据库名
-A, --all-databases 备份所有数据库
--single-transaction 在执行备份前,执行 BEGIN SQL语句,保证数据一致性
--quick 快速备份,不锁表
--opt 是 --quick 的同义词,默认开启
-R, --routines 备份存储过程和函数
-E, --events 备份事件
-e, --set-charset 设置字符集
-x, --lock-all-tables 锁定所有表
--flush-logs 备份之前先刷新日志
用例:
- 备份单个数据库:
mysqldump -u 用户名 -p 密码 数据库名 > 备份文件.sql
- 备份所有数据库:
mysqldump -u 用户名 -p 密码 --all-databases > 备份文件.sql
- 备份指定的几个数据库:
mysqldump -u 用户名 -p 密码 --databases 数据库1 数据库2 > 备份文件.sql
- 备份单个表:
mysqldump -u 用户名 -p 密码 数据库名 表名 > 备份文件.sql
- 使用 --quick 参数进行快速备份(不锁表):
mysqldump -u 用户名 -p 密码 --quick 数据库名 > 备份文件.sql
- 使用 --lock-all-tables 参数进行备份(锁表):
mysqldump -u 用户名 -p 密码 --lock-all-tables 数据库名 > 备份文件.sql
- 使用 --single-transaction 参数进行InnoDB表的一致性备份(不锁表):
mysqldump -u 用户名 -p 密码 --single-transaction 数据库名 > 备份文件.sql
- 备份存储过程和函数:
mysqldump -u 用户名 -p 密码 --routines 数据库名 > 备份文件.sql
- 备份事件:
mysqldump -u 用户名 -p 密码 --events 数据库名 > 备份文件.sql
- 备份并压缩:
mysqldump -u 用户名 -p 密码 数据库名 | gzip > 备份文件.sql.gz
注意:在使用 mysqldump 备份时,需要确保用户具有对数据库的备份权限。如果是远程备份,还需要确保远程连接到 MySQL 服务器的权限。
评论已关闭