WP CLI说明文档

命令概述

使用 wp-config.php 中的数据库凭据运行 mysqldump 工具,将 WordPress 数据库导出为 SQL 文件。

适合在备份数据库、迁移站点或导出特定表时使用。

参数列表

参数 说明
[<file>] 导出的 SQL 文件名。若为 ‘-‘,则输出到 STDOUT。若省略,则默认为 ‘{dbname}-{Y-m-d}-{random-hash}.sql’。
[--dbuser=<value>] 传递给 mysqldump 的用户名。默认为 DB_USER。
[--dbpass=<value>] 传递给 mysqldump 的密码。默认为 DB_PASSWORD。
[--<field>=<value>] 传递给 mysqldump 的额外参数。请参阅 mysqldump 文档。
[--tables=<tables>] 要导出的特定表的逗号分隔列表。省略此参数将导出数据库中的所有表。
[--exclude_tables=<tables>] 应跳过导出的特定表的逗号分隔列表。省略此参数将导出数据库中的所有表。
[--include-tablespaces] 跳过向 mysqldump 添加默认的 –no-tablespaces 选项。
[--porcelain] 仅输出文件名或导出的数据库。
[--add-drop-table] 在每个 CREATE TABLE 语句前包含 DROP TABLE IF EXISTS 语句。
[--defaults] 加载环境的 MySQL 选项文件。默认行为是跳过加载以避免因配置错误而失败。

常用示例

导出数据库并包含 DROP 语句

$ wp db export --add-drop-table

导出特定表

$ wp db export --tables=wp_options,wp_users

导出匹配通配符的所有表

$ wp db export --tables=$(wp db tables 'wp_user*' --format=csv)

导出匹配前缀的所有表

$ wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv)

导出特定文章而不包含 CREATE TABLE 语句

$ wp db export --no-create-info=true --tables=wp_posts --where="ID in (100,101,102)"

导出特定文章的关联元数据而不包含 CREATE TABLE 语句

$ wp db export --no-create-info=true --tables=wp_postmeta --where="post_id in (100,101,102)"

跳过导出特定表

$ wp db export --exclude_tables=wp_options,wp_users

跳过导出匹配通配符的所有表

$ wp db export --exclude_tables=$(wp db tables 'wp_user*' --format=csv)

跳过导出匹配前缀的所有表

$ wp db export --exclude_tables=$(wp db tables --all-tables-with-prefix --format=csv)

导出数据库到 STDOUT

$ wp db export -