1つのマスターと2つのVIPスレーブデータベースサーバーがあります。我々は、列のデータ型をマスター上でVARCHAR(255)からTEXTに変更しました。 アプリケーションは現在、書き込み操作にのみmasterを使用し、読み取り操作にはスレーブを使用するように構成されています。 ALTER TABLEコマンドを使用してマスターサーバー上のデータ型を変更すると、スレーブサーバーが応答しなくなります。 我々はMariadb 10.0 を使用しているスレーブインスタンスがクエリを遅くすることにより、非常に遅くなるレプリケーションの問題
Id User Host Db Command Time(sec) State Info ----------------------------------------------------------------------- 203739 repl slave1 Binlog Dump 75,143,121 Master has sent all binlog to slave; waiting for binlog to be updated 203740 repl slave2 Binlog Dump 75,143,121 Master has sent all binlog to slave; waiting for binlog to be updated
[情報を処理]。セッションの 数:1590 thread_pool_max_thread = 500 現在値= 648
マスターサーバー上でALTER TABLEを実行した後、それがサーバーをスレーブに複製され、セッションの同じ時間数にスレーブサーバ上で急速に増加しますました。 遅いクエリのためにスレーブが応答しなくなると思います。
しかし、なぜこのクエリが遅くなり、スレーブが応答しなくなったのか分かりません。 DBAは、ANALYZE TABLEコマンドを実行した後、この問題は解決されたと言っています。 しかし、ANALYZE TABLEは統計情報を更新するだけなので、なぜこれが起こったのか分かりません。 誰かがこれについて何か起こったのであれば、助けとなるでしょうか? 今後このような問題を回避する方法。