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 センチネルの実装
クエリ書き換えプラグインMySQL 5.7.6 以降、MySQL Server は、サーバーが実行す...
Dreamweaver8 を使用して独自の Web サイトを作成する目的は何ですか?インターネットに...
この記事では、例を使用して、MySQL ストアド プロシージャでの if ステートメントの使用方法を...
この問題について話すとき、垂直方向の中央揃えを設定するための vertical-align 属性が ...
Nginx ロード バランシング サーバー: IP: 192.168.0.4 (Nginx-Serv...
目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...
開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...
目次1. Vueルーター1. 説明2. 選択したルートのレンダリング: 3. 基本的な動作原理2. ...
目次導入実装手順キャンバス環境を作成するライティングボールBallクラスを継承するMoveBallク...
MySQL binlog は MySQL ログの中で非常に重要なログであり、データベースのすべての ...
JavaScript を使用すると、ハイパーリンクがジャンプするのを防ぐことができます。方法は次の...
目次1. ダウンロード2. 展開1.Nginxのデプロイメント2. ModSecurityの展開3....
目次序文バックグラウンドデータの結合フロントエンドデータ表示ページ効果表示Avue.js は、既存の...
MySQLの読み書き分離の落とし穴読み取りと書き込みの分離の主な目的は、メイン データベースの負荷を...
目次画像をプルするイメージを実行する(コンテナを生成する)コンテナを起動するコンテナに入るすべてのミ...