ホームページ > バックエンド開発 > PHPチュートリアル > MySQL 組み込みレプリケーションによる可用性の最適化 (5)_PHP チュートリアル

MySQL 組み込みレプリケーションによる可用性の最適化 (5)_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:22:03
オリジナル
793 人が閲覧しました

ステップ 4: データベース接続プログラムを変更する
マシン A とマシン B の間の相互関係を確立したので、このアプローチの利点を活用するにはデータベース接続プログラムを変更する必要があります。次の関数は、まずマシン A への接続を試行し、接続を確立できない場合はマシン B に接続します。
$#@60;?php
/*************************************************** ****
関数 db_​​connect()
成功した場合はリンク識別子を返し、エラーの場合は false を返します
**************************** ****************************/
$username = "replUser";
$primary = "10.1.1.1"; $backup = "10.1.1.2";
# プライマリへの接続を試行
if(!$link_id = @mysql_connect($primary, $username, $password))
# セカンダリへの接続を試行
$link_id = @mysql_connect($secondary , $username, $password)
return $link_id; }
?$#@62;
上記のテクノロジーを使用してデータベース接続の確立プロセスを 2 つの状況でテストしました。1 つは、メインの MySQL サービス プログラムが閉じている場合です。サーバーはまだ実行中ですが、メイン サーバーがシャットダウンされているという状況もあります。 mysqld のみがシャットダウンされている場合、接続はすぐにバックアップ マシンに転送されますが、サーバー全体がシャットダウンされている場合は、PHP が原因で無限に待機することになります (2 分後に追跡を諦めましたが、注意が必要な時間は非常に短いです)。存在しないサーバーを探しています。残念ながら、fsockopen 関数とは異なり、mysql_connect 関数にはタイムアウト パラメーターがありませんが、fsockopen を使用してタイムアウトをシミュレートできます。



http://www.bkjia.com/PHPjc/532383.html

www.bkjia.com

http://www.bkjia.com/PHPjc/532383.html技術記事ステップ 4: データベース接続プログラムを変更する マシン A とマシン B の間の相互関係を確立したので、次はデータベース接続プログラムを変更して...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート