咨询MySQL导入方法及WordPress跨站点产品迁移对应数据表
WordPress产品迁移:核心MySQL数据表及MySQL端导入操作
一、WooCommerce产品相关核心MySQL数据表
WordPress的产品(通常指WooCommerce产品)数据分散在多个关联数据表中,核心表如下(表前缀wp_需替换为你的实际前缀):
wp_posts:存储产品基础信息,包括标题、内容、发布状态,产品对应的post_type为product(普通产品)或product_variation(可变产品变体),变体通过post_parent关联主产品ID。wp_postmeta:存储产品附加元数据,比如价格(_price)、库存(_stock)、SKU(_sku)、重量、尺寸等自定义字段。wp_terms、wp_term_taxonomy、wp_term_relationships:三张表联合存储产品分类(产品分类、标签),wp_term_taxonomy中taxonomy字段区分product_cat(产品分类)和product_tag(产品标签)。wp_woocommerce_product_meta_lookup:WooCommerce产品索引表,用于快速查询产品价格、库存等数据,导入后需重建。wp_woocommerce_variations:可变产品变体的索引表,实际变体基础数据仍存在wp_posts的product_variation类型条目中。wp_woocommerce_variation_meta:存储可变产品变体的元数据,比如不同规格的价格、库存、属性值。wp_woocommerce_attribute_taxonomies:存储全局产品属性(比如颜色、尺寸)的分类定义。
二、MySQL端导入产品数据的操作步骤
1. 从站点1导出产品相关数据表
使用mysqldump命令导出目标表,替换参数为你的实际信息:
mysqldump -u 数据库用户名 -p 站点1数据库名 wp_posts wp_postmeta wp_terms wp_term_taxonomy wp_term_relationships wp_woocommerce_product_meta_lookup wp_woocommerce_variations wp_woocommerce_variation_meta wp_woocommerce_attribute_taxonomies > product_backup.sql
执行后输入数据库密码即可生成导出文件。
2. 预处理导出文件(关键步骤)
- 表前缀替换:如果两个站点表前缀不同(比如站点1是
wp_,站点2是wp_store2_),批量替换SQL文件中的前缀:# Linux/macOS环境 sed -i 's/wp_/wp_store2_/g' product_backup.sql # Windows PowerShell环境 (Get-Content product_backup.sql) -replace 'wp_', 'wp_store2_' | Set-Content product_backup.sql - 关闭外键约束:避免导入时因外键关联报错,在SQL文件开头添加:
在文件末尾添加:SET FOREIGN_KEY_CHECKS = 0;SET FOREIGN_KEY_CHECKS = 1;
3. 导入到站点2数据库
命令行方式
mysql -u 站点2数据库用户名 -p 站点2数据库名 < product_backup.sql
输入密码后等待导入完成。
图形化客户端方式(以phpMyAdmin为例)
- 登录站点2的phpMyAdmin,选择目标数据库
- 切换到「导入」标签页,上传预处理后的
product_backup.sql文件 - 确认导入选项(默认即可),点击「执行」
4. 导入后收尾操作
- 进入站点2的WordPress后台,前往「WooCommerce > 状态 > 工具」
- 点击「重建产品查找表」和「清除所有缓存」,确保产品数据索引正常
- 检查产品列表、分类、变体是否显示正常,测试产品详情页的信息完整性
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

