桓楠百科网

编程知识、经典语录与百科知识分享平台

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

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



控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言