テーブルを削除しようとすると、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. PHPでテーブルから削除するときにmySQLエラーが発生する
- 7. 大きなテーブルのレコードを削除するとMySQLが遅くなる
- 8. MySQLトリガー:テーブルが大きすぎると行を削除できますか?
- 9. mysqlテーブルの重複するペアを削除する
- 10. MYSQLテーブルからPHPフォームを削除すると、正しい行が削除されません。
- 11. mysqlテーブルから古いレコードを削除するが、バックアップを保持する
- 12. MySQLデータベース内のすべてのテーブルを削除するには?
- 13. 角度、行を削除するとテーブル全体が削除されます
- 14. あるテーブルから別のテーブルにMySQLをコピーすると、アクセントが削除されます。
- 15. 2つのテーブルのIDが一致するMySQLのレコードを削除する
- 16. PHP html MySQLの行を削除するボタンを削除する
- 17. MySQLテーブルから改行を削除する
- 18. 巨大なMySQLのinnoDBテーブルからレコードを削除する
- 19. Mysqlテーブルから複数のランダムな行を削除する
- 20. MySQLで動的に管理されたテーブルを削除する
- 21. 同じMySQLテーブルから行追加/削除を取得する
- 22. MySQLテーブルの2つの外部キーを削除する
- 23. PHP - mySQL:テーブルに削除ボタンを追加する
- 24. 同じテーブルのトリガーでMySQLを削除する
- 25. mySQLテーブルにないファイルを削除する
- 26. 160万行のmysqlテーブルの行を削除する方法
- 27. MySQLで正確に10行のテーブルを削除する
- 28. MySQLテーブルの各行にPHPで削除ボタンを追加する
- 29. MySQLテーブルの重複を削除する方法
- 30. mysqlテーブルから重複したテキストレコードを削除する方法
データベースはもちろん – Sebas
のInnoDBの下にある場合にSHOW ENGINE INNODB STATUSの結果を投稿してください、あなたがしようとしている表のようになります。ドロップは既に使用されています(つまり、他のプロセスによってロックされていることを意味します)ので、プロセスがコミットするのを待っています。 – Rahul
ログ出力を追加しました。 –