0

最近、大規模な 32Gig データベースのコピーを作成して、開発環境に使用しました。アイテムを作成、削除、更新しようとすると、このエラーが発生します。

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction

コピーが正しく行われず、一部のテーブルがロックされているのではないかと考えています。

問題のデータベースはtest_dev2、私の開発環境で使用されているものです。プロセスを強制終了しようとしましたがtest_dev2、それでも同じエラーが発生しました。

ここに画像の説明を入力

MySQLサービスも再起動しましたが、それでも同じエラーが発生しました。

innodb_lock_wait_timeoutそれから私は120 に増加しました +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | innodb_lock_wait_timeout | 120 | +--------------------------+-------+

このコマンドを実行すると、次のようになりますSHOW OPEN TABLES WHERE In_use > 0; +-----------+------------------+--------+-------------+ | Database | Table | In_use | Name_locked | +-----------+------------------+--------+-------------+ | test_dev2 | core_url_rewrite | 1 | 0 | +-----------+------------------+--------+-------------+

1205 Lock wait timeout exceededこのエラーを修正する方法について何かアイデアはありますか?

4

1 に答える 1

0
  1. このバージョンをインストールしたサーバーにこの大きな DB を処理する機能があるかどうか、システム管理者に問い合わせてください。

  2. エントリ エントリを削除/削減して DB をスリム化 -- 顧客エントリ、ログ エントリ、見積もりなどを削除します。

  3. インデックス作成が適切に行われていることを確認してください。

  4. Mysql バッファ メモリ サイズの設定も、一時テーブルの作成につながり、実行が遅くなり、タイムアウトが発生する可能性があります。
于 2017-01-11T05:20:38.370 に答える