phpMyAdmin で大きな SQL ファイルをインポートしようとしましたが、エラーが表示され続けました
「MySql サーバーが消えました」
何をするか?
ベストアンサー1
述べたようにここ:
MySQL サーバーが消えた (エラー 2006) 最も一般的な 2 つの理由 (および修正方法) は次のとおりです。
サーバーがタイムアウトし、接続が閉じられました。修正方法:
mysqld の my.cnf 構成ファイル内の wait_timeout 変数が十分な大きさであることを確認します。Debian の場合:秒数
sudo nano /etc/mysql/my.cnf
を設定しwait_timeout = 600
(エラー 2006 がなくなったらこの値を微調整/減らすことができます)、 を実行しますsudo /etc/init.d/mysql restart
。確認していませんが、wait_timeout のデフォルト値は約 28800 秒 (8 時間) である可能性があります。サーバーは、不正なパケットまたは大きすぎるパケットをドロップしました。mysqld が大きすぎるパケットまたは不正なパケットを取得した場合、クライアントに何らかの問題が発生したとみなし、接続を閉じます。my.cnf ファイルの max_allowed_packet の値を増やすことで、最大パケット サイズ制限を増やすことができます。Debian の場合:
sudo nano /etc/mysql/my.cnf
、設定しmax_allowed_packet = 64M
(エラー 2006 がなくなったら、この値を微調整/減らすことができます)、次に としますsudo /etc/init.d/mysql restart
。
編集:
MySQL オプション ファイルには、コメントとして使用できるコマンドがあらかじめ用意されていないことに注意してください (たとえば、php.ini など)。したがって、変更や調整は または に入力し、my.cnf
、などの適切なオプション グループの下の ディレクトリまたはその他のパスにmy.ini
配置する必要があります。たとえば、次のようになります。mysql/data
[client]
[myslqd]
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
次に、サーバーを再起動します。値を取得するには、mysql クライアントに次のように入力します。
> select @@wait_timeout;
> select @@max_allowed_packet;