MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するスクリプトが作成されました。これらのエラー メッセージは MySQL エラー ログから取得され、エラー ログのパスは grep mysql で取得できます。 関連するコードはすべて次のとおりです。 #!/usr/bin/env python2.7 #-*- エンコーディング: utf-8 -*- 「」 このモジュールは、毎日のMySQLログから異常またはエラー情報を抽出するために使用されます。著者:xiaomo メールアドレス: [email protected] 「」 インポートOS インポートシステム インポート文字列 日時インポートから* # デフォルトの文字デコーダーは utf-8 です リロード(sys) sys.setdefaultencoding('utf-8') COMMON_FLAGS = ["エラー"、"例外"、"失敗"、"クラッシュ"、"修復"] def _contain_flag(cur_str): COMMON_FLAGS のフラグの場合: string.lower(cur_str) にフラグがある場合: Trueを返す Falseを返す 「」 現在の MySQL インスタンスの error_log ファイル パスを取得します。 def _get_mysql_error_log_path(): ログパス = '' grep_infos = os.popen('ps aux | grep mysql | grep "log-error"').read() len(grep_infos) > 1の場合: grep_infos = grep_infos.split("log-error=") len(grep_infos) > 1の場合: grep_infos = grep_infos[1].split(' ') len(grep_infos) > 1の場合: ログパス = grep_infos[0] log_pathを返す 「」 MySQL エラー ログ内の例外またはエラー情報を含む行を読み取ります。 エラーログの取得と開始日付の取得: エラー情報 = [] f = open(error_log, 'r') 行 = f.readlines() 行内の行の場合: データ配列 = 行を分割します(' ') len(data_array) > 0 かつ len(data_array[0]) == 10 の場合: dt_strs = データ配列[0].split('-') cur_date = date(int(dt_strs[0]), int(dt_strs[1]), int(dt_strs[2])) cur_date >= begin_date かつ _contain_flag(line): の場合 error_infos.append(行) f.close() error_infosを返す 「」 MySQL エラー ログ情報を組み立てて返します""" get_mysql_errors を定義します(begin_date=date.today()-timedelta(1)): 試す: err_log_path = _get_mysql_error_log_path() len(err_log_path) > 1の場合: _get_error_info(err_log_path, begin_date) を返します 例外を除く、e: "[get_mysql_errors]%s"%e を印刷 戻る [] ご興味ある方はぜひ参考にして学習してください。123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue は左右のスライド効果のサンプルコードを実装します
>>: Docker ベースの Redis 1 マスター、2 スレーブ、3 センチネルの実装
私たち謙虚なプログラマーは、今でもこう歌わなければなりません。「あなたも私も、この世に生まれて、一日...
目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...
目次序文クエリの使用シナリオ例時間間隔クエリクエリ日付と今日の時間の比較データ一般的なサイクルタイム...
1 原因プロジェクトがデータベースを移行して再起動した後、「T_AAAテーブルが存在しません」という...
html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...
まずディレクトリを作成する cd /etc/nginx mkdir ssl cd ssl CA と自...
目次1.画像レイヤーの数を減らす1. 命令の統合2. 多段階ビルド3. スクワッシュ機能を有効にする...
HTMLでCSSを定義するには、埋め込み、リンク、インラインの3つの方法が一般的に使用されます。 1...
1. 基本ライン 2. 特殊効果(効果は独立しておらず、互いに組み合わせることができます) 1. 両...
ドキュメント モードには次の 2 つの機能があります。 1. HTML文書を解析するためにどのHTM...
1. いつsetUpを実行するかvue3 ではメソッドを正常に使用できるようになったことは誰もが知っ...
最近、Web 開発のフロントエンドとバックエンドの技術を学んだので、その後の管理を容易にするためにプ...
<br />注目を集めるウェブサイトを作成するには、どのような原則に従うべきでしょうか?...
コアSQL文数字を含まない MySQL クエリ ステートメント: SELECT * FROM tes...
目次1. 基本理論1.1 取引1.2 分散トランザクション2. 分散トランザクションソリューション2...