web-dev-qa-db-ja.com

「一般的なエラー:1030がストレージエンジンからエラー168を取得しました」を受け取る

これが投稿するのに適切なスタック交換であるかどうかはわかりません(StackOverflowは他の場所に属していると考えたので、ここでより良いでしょうか?)しかし、このMySQLを受け取り続けますVPS(Centos6、MySQL 5.7.11)にMagento2をインストールしようとするとエラー:

SQLSTATE [HY000]:一般的なエラー:1030ストレージエンジンからエラー168を取得しました

私は周りを検索しましたが、それはInnoDBがデータファイルに書き込むことができないことに関係していることがわかりました。また、同じ1030エラーが発生した人は、ほとんど-1または28エラーを受け取り、どちらも1)innodb_force_recoveryが0より大きいと簡単に識別されます。 (私はmy.cnfファイルにこれを設定していません)、および2)十分なディスク領域がありません(5GBが残っていますドライブmysqlがオンになっている)

停止してエラーが発生する前に、136-162テーブルのどこにでも正常にインストールされることに注意してください。その後、手動でエラーが発生した最後のテーブルを追加しようとすると、この問題に似た症状が発生します。

テーブルを作成できませんが、テーブルが存在しません

MySQLマニュアルには次のように書かれています:

"%d値をチェックして、OSエラーの意味を確認します。たとえば、28は、ディスク領域が不足していることを示します。"

だから私の質問は:

  1. 誰かが168コードの意味を知っていますか? -OR-
  2. "%d value"エラーのリストはどこにあるので、他に何を試してみればいいのでしょうか。私はこれらの検索基準の%d value mysqlおよび他のバージョンをGoogleで検索し、値の結果を返さない(とにかく解読できる)

これまでに試したこと:

  1. fstabに行を追加して、/tempフォルダーのストレージを2GBに増やします。
  2. 私はテーブルを修復しようとしました(これは実際には良いアイデアではありませんでしたが、たくさんのものを台無しにしてしまいました)
  3. mysql_upgradeを実行しようとしました(最近、MySQLのインストールを更新してMagento2をインストールできるようにしたので、それを実行するのを忘れて、うまくいくと思いました)
  4. 他のさまざまないじくり回すタイプのものはおそらく私が知らない他の何かを壊しました...

これらの%dの説明がどこにあるのか、またはこのエラーの-128のバージョンについてすでに何があるかを除いて、誰かが私を正しい方向に向けることができる場合、私はそれを感謝します。私はデータベースの専門家ではありませんが、データベースへのインストールにこれまでそれほど苦労したことはありません。通常は簡単です。


編集:

ログを確認すると、これはエラーの一番上の部分であり、失敗したテーブルです。

 2016-05-15T15:08:22.610729Z 240 [ERROR] InnoDB: Unable to lock
 ./magento_test2/authorization_rule.ibd error: 37
 2016-05-15T15:08:22.610789Z 240 [ERROR] InnoDB: Operating system error
 number 37 in a file operation. 2016-05-15T15:08:22.610840Z 240 [ERROR]
 InnoDB: Error number 37 means 'No locks available'
 2016-05-15T15:08:22.610879Z 240 [Note] InnoDB: Some operating system
 error numbers are described at
 http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
 2016-05-15T15:08:22.610896Z 240 [ERROR] InnoDB: Cannot create file
 './magento_test2/authorization_rule.ibd' 2016-05-15T15:08:23.025333Z 0
 [ERROR] InnoDB: Unable to lock ./magento_test2/quote_address.ibd
 error: 37 2016-05-15 08:08:23 0x7f968ae75700  InnoDB: Assertion
 failure in thread 140284552238848 in file fil0fil.cc line 884 InnoDB:
 Failing assertion: success InnoDB: We intentionally generate a memory
 trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
 InnoDB: If you get repeated assertion failures or crashes, even
 InnoDB: immediately after the mysqld startup, there may be InnoDB:
 corruption in the InnoDB tablespace. Please refer to InnoDB:
 http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
 InnoDB: about forcing recovery. 15:08:23 UTC - mysqld got signal 6 ;
 This could be because you hit a bug. It is also possible that this
 binary or one of the libraries it was linked against is corrupt,
 improperly built, or misconfigured. This error can also be caused by
 malfunctioning hardware. Attempting to collect some information that
 could help diagnose the problem. As this is a crash and something is
 definitely wrong, the information collection process might fail.

私はそれが一般的に非常にうまく機能していないと思います。

3
Rasclatt
[ERROR] InnoDB: Unable to lock ./magento_test2/authorization_rule.ibd error: 37
[ERROR] InnoDB: Error number 37 means 'No locks available'

OSを確認してくださいオープンファイルの制限mysqlユーザーの場合)-ulimit -aおよびopen files または多分 file locks 256〜512の値(160個のテーブルが作成され、それぞれにibd/frmまたはfrm/myi/mydがあり、myisamテーブルが存在する可能性があることを意味します)は、300以上のファイルを作成しようとします。

3
jkavalik