使用WP on AWS插件迁移WordPress至AWS,为何卡滞在Prepare Database步骤?
WordPress迁移AWS卡在"Prepare Database"步骤的排查方案
检查数据库网络连通性
Docker Compose部署的数据库默认仅在容器内部网络可达,迁移工具可能无法直接访问。给数据库容器添加主机端口映射,确保迁移工具能通过主机IP+端口连接:services: db: ports: - "3306:3306"重启容器后,用本地MySQL客户端测试连接,确认能正常访问数据库。
验证数据库用户权限
迁移过程需要数据库用户拥有完整DDL权限(CREATE、ALTER、DROP等),默认WordPress用户权限可能不足。登录数据库执行:GRANT ALL PRIVILEGES ON your_wp_db.* TO 'wp_user'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES;替换
your_wp_db、wp_user、your_password为实际信息。统一数据库字符集与排序规则
AWS迁移工具对字符集要求严格,确保本地数据库使用utf8mb4字符集和utf8mb4_unicode_ci排序规则。执行命令检查:SELECT default_character_set_name, default_collation_name FROM information_schema.SCHEMATA WHERE schema_name = 'your_wp_db';若不符合,修改数据库及所有表的字符集:
ALTER DATABASE your_wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;生成并执行所有表的修改语句:
SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') FROM information_schema.TABLES WHERE table_schema = 'your_wp_db';清理数据库冗余数据
本地数据库的冗余表、元数据可能导致迁移工具处理失败。用WP-CLI清理后重新导出:wp db optimize wp post meta clean手动完成数据库迁移
若自动迁移始终失败,可绕过工具手动操作:- 导出本地数据库:
mysqldump -u wp_user -p your_wp_db > wp_db_backup.sql - 在AWS创建对应版本的数据库实例,导入备份文件:
mysql -u aws_db_user -p -h aws_db_host aws_wp_db < wp_db_backup.sql - 修改
wp-config.php中的数据库连接参数为AWS实例信息,再迁移站点文件到AWS服务器。
- 导出本地数据库:
内容的提问来源于stack exchange,提问作者Andorkan
相关产品推荐
相关产品推荐

