テーブルを削除しようとすると、MySQLがハングします。他のオープンセッションはありません。これを解決するには?私は10時間待っており、プロセスは終了していません。テーブルを削除するとMySQLがハングする
答えて
Waiting for table metadata lock
drop table tableA name
SELECT l1.lat, l1.lon, l2.zipcode FROM tableA l1, tableBl2 where l1.lat = l2.latitude and l1.lon = l2.longitude limit 10
これはあなたのテーブルの場合は、暗黙のデッドロックを持っているthis link
を参照してください。他のトランザクションを終了してドロップを解放するか、ドロップを強制終了して他のトランザクションを解放します。
KILL thread_idをsql_plusに使用できます。
私は別の興味深い経験を思い付いたので、私はさらに情報を追加しています。
Metadata
デッドロックが均等に与えられた表(drop
、alter
...)と、そのテーブルに選択クエリにDDL操作の間に起こり得ます。
はい、select
です。
mysql(またはPHPの場合はpdo::fetch
など)のカーソルをループし、同じテーブルでddlステートメントを実行すると、デッドロックが発生します。
この非典型的なシナリオの1つの解決策は、selectステートメントが完全にフェッチされた後にcommit
ステートメントで暗黙のロックを系統的に解放することです。
私はテーブルを削除しましたが、エラーコード(28)を得ると新しいテーブルを作成できません:ファイル '..'をディスクに同期できません。私はテーブルを落とすことによって、より多くの空き領域があると仮定しています。 –
どのファイルですか?ロックが長時間続いたので、サーバーを再起動する必要があると思います。 – Sebas
私は本当に大きな複数の列を持つテーブルの作成ステートメントを実行すると、私はこのエラーメッセージが表示されます。サーバーを再起動すると、もう一度終了して再接続することを意味しますか?あなたはどのようにサーバーを再起動するのですか? –
MySQLを再起動すると、きれいな解決策になるが、それは私のために働いていない可能性があります:
sudo /etc/init.d/mysql restart
mysqladmin drop YOURDATABASE
'mysql.server restart'は私のために働きます。 –
- 1. mysqlテーブルと削除戦略
- 2. テーブルから行を削除するmysql
- 3. MySQLでテーブルを削除するとインデックスも削除されますか?
- 4. MySQLのトランケートがハングする
- 5. MySql alter tableがハングする
- 6. 大きなテーブルのレコードを削除するとMySQLが遅くなる
- 7. MySQLトリガー:テーブルが大きすぎると行を削除できますか?
- 8. mysqlテーブルの重複するペアを削除する
- 9. mysqlテーブルから古いレコードを削除するが、バックアップを保持する
- 10. MySQLデータベース内のすべてのテーブルを削除するには?
- 11. あるテーブルから別のテーブルにMySQLをコピーすると、アクセントが削除されます。
- 12. 2つのテーブルのIDが一致するMySQLのレコードを削除する
- 13. MYSQLテーブルからの重複を削除
- 14. MySQLテーブルの重複を削除する方法
- 15. Mysqlテーブルから複数のランダムな行を削除する
- 16. MySQLで動的に管理されたテーブルを削除する
- 17. MySQLテーブルから改行を削除する
- 18. mySQLテーブルにないファイルを削除する
- 19. MySQLテーブルから別のテーブルにあるレコードを削除する方法
- 20. プログラムが終了すると、derbyテーブルが削除されます
- 21. mysqlに一時テーブルを削除する必要がありますか?
- 22. 限定時間後にMySqlテーブルから削除する
- 23. 2テーブルからMySqlカスケード削除
- 24. MySQLトリガー:テーブルからの削除
- 25. 結合テーブルのmysql削除レコード
- 26. csvからテーブルにmysqlを挿入する - 最初の行を削除する
- 27. MySQLをテーブルから削除するか、テーブルの更新テーブルの列を削除済みとしてマークしますか?
- 28. テーブルとカラムを削除した後のMySQLの空き容量?
- 29. テーブル全体を削除するSQLステートメント
- 30. JavaScriptでHTMLテーブルを削除する
データベースはもちろん – Sebas
のInnoDBの下にある場合にSHOW ENGINE INNODB STATUSの結果を投稿してください、あなたがしようとしている表のようになります。ドロップは既に使用されています(つまり、他のプロセスによってロックされていることを意味します)ので、プロセスがコミットするのを待っています。 – Rahul
ログ出力を追加しました。 –