ホームページ >コンピューターのチュートリアル >コンピュータ知識 >MySQL が異常なエラー ログを書き込む
コア ビジネス データベース。バージョンは MySQL 8.34
Community Server Edition です。オンラインになってから、このデータベース サーバーのエラー ログは (次の図に示すように) 急速に増加し、24
時間ごとに 10
G
以上の容量に増加しました。
障害アラームが発生しており、ビジネスへの通常のアクセスには影響がないため、関連担当者は MySQL
サービスを再起動できません。この状況を考慮して、毎晩決まった時間にこれらのログをクリーンアップする自動スケジュール タスクを設定する必要がありました。特定の操作を行うには、システム コマンド ラインで「crontab -e」
を実行し、次のテキスト行を追加します:
00 01 * * * echo > /data/mysql8/data/mysql_db/mysql.log |
保存して編集モードを終了します。タスクの正確性と有効性を確認する必要がある場合は、実行時間をかなり最近の時点に変更し、エラー ログ ファイル「mysql.log#」を比較することができます。 ##" サイズを確認し、次の図に示すように、cron
ログがこのスケジュールされたタスクを実行したかどうかを確認します。
春節の休暇中は、新年を祝うために皆が帰省し、訪問者が最も少ない時期ですが、これを機会にこの問題を完全に解決するつもりです。関係者に意見を求め、MySQL
オプション ファイルを変更して無駄な警告出力をブロックできるかどうかを尋ねてください。返答は「
再起動にはどのくらい時間がかかりますか?」
でした。答えは「
数分で十分です」
です。
この定義されたエラー ログには何が大量に記録されますか? 「mysql.log」
大きなファイルを開くと、警告メッセージがたくさんあることがわかります。システム コマンド「tail -f mysql.log」
を使用してください。画面出力はモーターのフライホイールのように回転します。特定のデータ以下の図に示されています。
caching_sha2_password"
と矛盾する "mysql_native_password"
を使用していることを示しています。解決策は、すべてのユーザー アカウントのパスワード認証方法を "
caching_sha2_password"
に変更するか、エラー ログ ファイル "mysql.log"
にこれらの警告メッセージを記録しないことです。ユーザー アカウントの数が多く、複数のビジネスが設計されているため、警告メッセージを記録しない方が簡単ですが、これらの警告メッセージはいずれにせよ役に立ちません (トラブルシューティングに役立つ実際のエラー ログを記録しましょう)。
MySQL
サーバーが配置されているホスト システム Centos 7。
オプション ファイル "/etc/my.cnf"
をテキスト エディタで開き、テキスト内に次のテキスト行を追加します。ブロック [mysqld
] 。
log-error-verbosity=1
|
デフォルトでは、MySQL 8
の "log-error-verbosity"
値は "3"
です。これは、すべての "
エラー、警告、コメントがエラーに記録されることを意味します。ログ「
.数値「2
」は「エラーと警告」をログに記録することを意味し、数値「1
」は「エラー」のみをログに記録することを意味します。
オプションファイルを変更する前に、必ずバックアップを行ってください。これは常識であり、後悔の薬でもあります。書き込みエラーがないことを確認した後、MySQL
サービスを再起動し、ローカルの MySQL
サービスが正常か、リモートのマスタ/スレーブ同期が正常か、遅延がないかを確認します。
数分間実行した後、MySQL
のエラー ログをチェックして、急激に増加しなくなっているかどうかを確認します。しばらく観察してみると、確かにMySQL
の警告ログは記録されなくなり、ファイルの増大率も大幅に減少しました。
以上がMySQL が異常なエラー ログを書き込むの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。