2016-05-10 4 views
1

私のウェブサイトがダウンしているため、NavicatやphpMyAdminでこれらのテーブルを開くことができないため、いくつかのmysqlテーブルにアクセスできない(デッドロックのように見えます)MYSQLの一部のテーブルにアクセスできない

SHOW FULL PROCESSLIST 

を使用してスレッドIDを知ることでクエリを実行しましたが、問題に関連する行が見つかりませんでした。

この問題は、10万を超える>を含む2つのテーブルに対して重いクエリを実行しようとした後に発生し、3時間以上かかるとクエリがキャンセルされたことに注意してください。

私はリブートサーバーにアクセスできません。私はgodaddyホスティングを使用しており、私の国にオンラインチャットサポートはありません!

リブートせずにmysideで修正することはできますか? アドバイスをお願いします。

答えて

1

2百万行であっても、クエリは3時間かかるべきではありません。つまり、SQL自体に深刻な注意が必要です。あなたが 'デッドロックのように見えます'と言ったときには、SHOW ENGINE INNODB STATUS があります。ロック状態のテーブルが増えたら、innodb_lock_wait_timeoutシステム変数の値を設定することでこれらの状況を解決できます。参考のため

:あなたが使用できるUnixライクなOS "システム" またはIn

https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_deadlock https://www.percona.com/blog/2012/09/19/logging-deadlocks-errors/

+0

私は共有ホスティングプランを使用しているため、godaddyは「SHOW ENGINE INNODB STATUS」の使用を許可しません。最後に私は顧客ケアに達したのでテーブルを失いました。 サービスが悪い... –

0

"\!" mysqlインタプリタ内でシェルのコマンドを実行する接頭辞。 See this. もちろんシェルでコマンドを実行するには管理者権限が必要です。

これで、いくつかのmysql adminコマンドを使用してPIDを取得し、問題をOS別に分析できます。

関連する問題