1. ホーム
  2. マイスル

[解決済み】大きなSQLファイルをインポートすると、MySQLサーバーが消えてしまう。

2022-03-31 08:50:48

質問

phpMyAdminで大きなSQLファイルをインポートしようとしたのですが、エラーが表示され続けています。

'MySqlのサーバーが消えてしまった'

どうすればいいのでしょうか?

解決方法は?

とあるように こちら :

MySQL サーバーがなくなった理由として、最も一般的な 2 つの理由(および修正方法)があります。 (2006年エラー)があります。

サーバーがタイムアウトし、接続を閉じた。修正方法

  1. 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時間)程度かもしれません。

  2. サーバーが不正確なパケットまたは大きすぎるパケットをドロップしました。mysqld が大きすぎるパケットや不正なパケットを受け取った場合、何かが起こったと判断します。 クライアントで問題が発生したため、接続を閉じます。接続を閉じる の値を大きくすることで、パケットサイズの最大値を制限することができます。 max_allowed_packet を my.cnf ファイルに記述してください。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;