述べたように、ここ :
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が大きすぎるか正しくないパケットを取得した場合、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;