You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Lando导入WordPress数据库遇ERROR 2006(HY000)问题求助

解决Lando导入WordPress数据库时"MySQL server has gone away"错误

问题背景

Ubuntu 22.04系统下,使用Lando搭建本地WordPress环境,执行lando db-import data.sql导入数据库时,持续报错:

ERROR 2006 (HY000) at line 654: MySQL server has gone away

已在本地my.cnf添加以下配置并重启MySQL,但问题未解决:

[mysqld]
wait_timeout = 28800
interactive_timeout = 28800
max_packet_size = 128M

本地其他9个Lando站点均无此问题,怀疑当前数据库备份文件损坏,尝试Stack Overflow相关Ubuntu方案无效。

解决方案

1. 修正Lando容器内的MySQL配置

Lando使用独立容器运行MySQL,本地my.cnf配置不会同步到容器内,需直接修改容器内参数:

  • 进入数据库容器:
    lando ssh -s database
    
    若不确定服务名,执行lando info查看数据库服务的service字段值。
  • 编辑容器内的MySQL配置文件(路径通常为/etc/mysql/mysql.conf.d/mysqld.cnf),添加或调整:
    [mysqld]
    wait_timeout = 28800
    interactive_timeout = 28800
    max_allowed_packet = 256M
    
  • 重启容器内的MySQL服务:
    service mysql restart
    
    或直接重启整个Lando环境:lando restart

2. 验证并修复SQL备份文件

  • 用Lando自带的MySQL客户端检查文件完整性:
    lando mysql < data.sql
    
    若报错指向特定行,手动检查该行SQL语句是否存在语法错误、特殊字符或过大字段。
  • 若文件损坏,重新从原WordPress站点导出数据库;或尝试删除报错行附近的异常内容后再次导入。

3. 分批次导入大SQL文件

若SQL文件体积过大,拆分后分批导入:

  • 按行数拆分文件(示例按1万行拆分):
    split -l 10000 data.sql data_part_
    
  • 依次导入拆分后的文件:
    lando db-import data_part_aa
    lando db-import data_part_ab
    # 后续文件以此类推
    

4. 通过Lando配置文件永久覆盖MySQL参数

在当前站点的.lando.yml中添加数据库服务的自定义配置,避免每次重启容器丢失设置:

services:
  database:
    type: mysql:8.0 # 替换为你的MySQL版本
    config:
      database:
        my.cnf: |
          [mysqld]
          wait_timeout = 28800
          interactive_timeout = 28800
          max_allowed_packet = 256M

执行lando rebuild让配置生效后,重新尝试导入。

内容的提问来源于stack exchange,提问作者Subrata Sarkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:53:14