ホームページ バックエンド開発 PHPチュートリアル mysqlの同期状態の検出実装コード(php/linux)_PHPチュートリアル

mysqlの同期状態の検出実装コード(php/linux)_PHPチュートリアル

Jul 20, 2016 am 11:11 AM
linux mysql php 導入 コード 同期する 成し遂げる 記事 検出

この記事では、MySQL 同期状態検出実装プログラムを紹介する 2 つの例を紹介します。必要な方は参考にしてください。

コードは次のとおりです コードをコピーします

#!/bin/sh

#check MySQL_Slave Status
#crontab time 00:10
MYSQL_USER="root"
MYSQL_PWD="1234 56 "
MYSQL_SLAVE_LOG ="/ tmp/check_mysql_slave.log"
EMAIL="1351010****@139.com"

MYSQL_PORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "] + '{ print $5}'`
MYSQL_IP=`ifconfig eth0|grep "inet addr" awk -F[:" "]+ '{print $4}'`
MYSQL_SLAVE_STATUS=$(/usr/local/webserver/mysql /bin/ mysql -u root -psylc23hua -S /tmp/mysql.sock -e

"スレーブステータスを表示")
IO_ENV=`echo $MYSQL_SLAVE_STATUS | grep IO | }'`
SQL_ENV=`echo $MYSQL_SLAVE_STATUS | grep SQL | awk '{print $2}'`
NOW=$(date -d today +'%Y-%m-%d %H:%M:%S' )

if [ "$MYSQL_PORT" = "3306" ];then
echo "mysql が実行中です!"
else
mail -s "warn!server: $MYSQL_IP mysql がダウンしています" "$EMAIL"
fi

if [ "$ IO_ENV" = "はい" -a "$SQL_ENV" = "はい" ];then
echo "スレーブが実行中です!"
else
echo "[ $NOW ] スレーブが実行されていません!" $MYSQL_SLAVE_LOG"
cat "$MYSQL_SLAVE_LOG" | mail -s "警告! ${MySQL_IP}_replicate_error" "$EMAIL"
fi

exit 0

phpサンプルコード

コードは次のとおりです コードをコピー

check_rep.php

if(empty($_REQUEST["key "]) ) die(':) キーがありません');
if($_REQUEST["key"] != 'xupeng') die(':) エラーキー');

include("mysql_instance.php") ;
include ("check_status_api.php");

define("USERNAME", "ユーザー名");
define("PASSWORD", "パスワード");
define("DEBUGMODE", false);

$instances = get_instances ();

if($instances){
echo <<

END;
echo "
n";
if(! DEBUGMODE){
echo "

n";
}else{
echo "

n";
}
foreach($instances as $host){
$res = check_mysql_replication_status($host, USERNAME, PASSWORD);
if(! DEBUGMODE){
switch($res["result"]){
case -4:
$memo = "不明な例外";
Break;
case -3:
$memo = "クエリが失敗しました";
Break;
case -2:
$memo = "ポートに接続できません";
case -1: case 1:
$memo = "同期に失敗しました";
if($res["Slave_IO_Running"] <> "はい"){
$memo .= $res["Last_IO_Error"] . "(" . $res

["Last_IO_Errno"] . ")";
}
if($res["Slave_SQL_Running"] < &gt; "yes"){$ memo。= "last_sql_error" "(" last_sql_errno "]

n";
}
}
echo "























< ;tr>






















インスタンス結果Slave_IO_RunningSlave_SQL_RunningMaster_HostMaster_Port Replicate_Do_DBメモ
インスタンス結果Slave_IO_実行中
Slave_SQL_RunningMaster_HostMaster_PortReplicate_Do_DB スレーブ_IO_状態
Last_IO_ErrnoLast_IO_ErrorLast_SQL_ErrnoLast_SQL_Error
{$host}{$res['result']}{$res['Slave_IO_Running']} {$res['Slave_SQL_Running']}{$res['Master_Host']}{$ res['Master_Port']}{$res['Replicate_Do_DB']}{$memo}
{$host}{$res['result']}{$res['Slave_IO_Running ']}{$res['Slave_SQL_Running']}{$res['Master_Host']}{$res['Replicate_Do_DB']}{$res['Slave_IO_State']}< /td>
{$res['Last_IO_Errno']}{$res['Last_IO_Error']}{$res[ 'Last_SQL_Errno']}{$res['Last_SQL_Error']}

n" ;
echo <<

END;
}else{
die("mysql インスタンスが定義されていません。");
}
check_status_api.php

/ *
* 检查mysql サービス务器の同状態态
*/
function check_mysql_replication_status($host, $username, $password)
{
//默认状態态不明
$r = array(
"result" => -1
);
try{
$dbh = @mysql_connect($host, $username, $password);
if(!$dbh){
//無法连接
$r["result"] = -2;
return($r);
}
$query = "スレーブステータスの表示";
$res = @mysql_query($query, $dbh);
$err = @mysql_error();
if($err){
//無法连接
$r["result"] = -3;
return($r);
}
$row = mysql_fetch_array($res);
$r = $row;
if(($r[" Slave_IO_Running"] == "はい") && ($r["Slave_SQL_Running"] == "はい"))
{
$r["result"] = 0;
}else{
if(!empty($row )){
$r["result"] = 1;
}else{
$r["result"] = 2;
}
}
}catch(Exception $e){
$r["result"] = -4;
}
return($r);
}
mysql_instance.php

上記3つのPHPファイルを仮想ディレクトリに配置し、URL経由でアクセスします。
アクセス方法: http://ip/check_repl.php?key=xupeng


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444665.html技術記事この記事では、MySQL 同期状態検出実装プログラムを紹介する 2 つの例を紹介します。必要な方は参考にしてください。 コードは次のとおりです コードをコピー #!/bin/sh #check MySQL_Slave Status #crontab ti...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPとWeb:その長期的な影響を調査します PHPとWeb:その長期的な影響を調査します Apr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHP:サーバー側のスクリプト言語の紹介 PHP:サーバー側のスクリプト言語の紹介 Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

なぜPHPを使用するのですか?利点と利点が説明されました なぜPHPを使用するのですか?利点と利点が説明されました Apr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

VSCODE前の次のショートカットキー VSCODE前の次のショートカットキー Apr 15, 2025 pm 10:51 PM

VSコードワンステップ/次のステップショートカットキー使用法:ワンステップ(後方):Windows/Linux:Ctrl←; macOS:CMD←次のステップ(フォワード):Windows/Linux:Ctrl→; macOS:CMD→

VSCODEでコードを実行する方法 VSCODEでコードを実行する方法 Apr 15, 2025 pm 09:51 PM

コードでコードを実行すると、コードが6つしか必要ありません。1。プロジェクトを開きます。 2。コードファイルを作成して書き込みます。 3.端子を開きます。 4.プロジェクトディレクトリに移動します。 5。適切なコマンドを使用してコードを実行します。 6。出力を表示します。

Linuxの主な目的は何ですか? Linuxの主な目的は何ですか? Apr 16, 2025 am 12:19 AM

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

See all articles