ホームページ バックエンド開発 PHPチュートリアル Mysqlデータを同期する方法_PHPチュートリアル

Mysqlデータを同期する方法_PHPチュートリアル

Jul 21, 2016 pm 04:09 PM
linux mysql ホスト ポイント 同期する そして どうやって データ システム


MySQLデータを同期する方法 ホスト A と B (Linux システム) があるとします。ホスト A の IP は 1.2.3.4 (もちろん、動的にすることもできます)、ホスト B の IP は 5.6.7.8 です。両方のホストに PHP+Mysql が搭載されており、現在ホスト A 上のデータを操作しています。別のホスト B が A とデータを同期したい場合、どうすればよいでしょうか?

よし、それではやってみよう。

まず、2 つのホスト間でデータを同期したい場合、1 つの方法は、ホスト A がホスト B にデータを送信することです。もう 1 つの方法は、A の IP が動的であるため、ホスト B がホスト A からデータを取得することです (仮定) , したがって、ホスト A からホスト B にデータを送信する必要があります。

ホスト B に Mysql アカウントを作成します。
# GRANT ALL ON test.* TO user@% IDENTIFIED BY "password"; // 任意のマシンからホスト B 上のテスト データベースにアクセスできるユーザー user を作成します。

ここでエラーが表示された場合は、まず % を IP に変更し、次に phpMyAdmin を使用して IP を % に変更します。テストが正しければ、php プログラムを作成できます。

$link=mysql_pconnect("localhost","user","password"); // このマシン (ホスト A) に接続します。データベース
mysql_select_db("test"); //データベース テストを選択

$re=mysql_query("select * from table order by id desc"); num)) {
$id=mysql_result($re,0,"id"); //ローカルテーブルの最大IDを取得します
}

mysql_close($link) //ローカルデータベースとの接続を閉じます
;

$link=mysql_pconnect("5.6.7.8","test","test");
mysql_pconnect("5.6.7.8","test","test") //ホスト B のデータベースに接続します
mysql_select_db( "test"); //データベース テストを選択します。このデータベースはホスト A 上のテスト データベースと同じ構造を持つ必要があります。
$re=mysql_query("select * from table order by id desc");
$num=mysql_numrows($re);
if (!empty($num)) {
$remote_id=mysql_result($re,0, "id"); //ホスト Btable テーブルの最大 ID を取得します
}

if ($id>$remote_id) {
$result_id=$id-$remote_id; //ホスト内のテーブルの最大 ID を取得しますA はホスト B より大きい テーブル内のテーブルの最大 ID は、2 つの
} のデータが異なることを示します

mysql_close($link) // ホスト B のデータベース接続を閉じます


$link=mysql_pconnect; ("localhost","user","password" );
mysql_pconnect("localhost","user","password");

if (empty($result_id)) =0;
if (empty($remote_id)) $remote_id=0; //ホスト B のテーブルの最大 ID が空の場合 (データがない場合)、0 を待ちます

$re=mysql_query ("select * from table limit $remote_id,$result_id"); // ホスト A のテーブル table とホスト B のテーブル table の異なるデータを取り出す
$num=mysql_numrows($re); empty($num)) {
for ($i=0;$i$test[$i]=mysql_result($re,$i,"test"); //データを配列に入れる
}
}
mysql_close($link); / /ホスト A のデータベース接続を閉じる


$link=mysql_pconnect("5.6.7.8","user","password"); "5.6.7.8","user","password");
mysql_select_db ("test");

for ($j=0;$j
mysql_query(" insert into table (test) names('$test[$j]')"); // ホスト B のデータベース接続を閉じます

?>

これが始まりです ホスト A とホスト B 間のデータ同期は完了しましたが、このプログラムを毎回手動でアクティブにする必要があります。それをスクリプトとして使用し、crontabに入れて指定した時間に自動的に実行するにはどうすればよいですか?

phpをインストールすると、通常はインストールしたphpの/binディレクトリに実行ファイルが生成されますが、下位バージョンにはそのようなファイルがないようです。 phpをアップグレードする必要があります。

#php -q test.php

phpは元々Webアプリケーションで使用されるものなのでHTMLヘッダーを送信しますが、ここではphpをシェルスクリプトとして使用したいので、「-q」はヘッダーを送信しないことを意味します

。最後に /etc/crontab 内のファイルを編集し、次の文を追加します。

0 0 * * * root /home/httpd/html/test ///home/httpd/html/test ファイルを毎晩深夜に実行します (具体的な使用法については cron 関連の情報を確認してください)

OK、これでほぼ完了ですMySQL データの同期は完了しました。まだ興味がある場合は、編集と削除を同期するためのより良い方法を考えてみてください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/314513.html技術記事 MySQL データを同期する方法 ホスト A と B (Linux システム) があるとします。ホスト A の IP は 1.2.3.4 (もちろん、動的にすることもできます)、ホスト B の IP は 5.6.7.8 です。メインは2つ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

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)

vscodeで中国モードを切り替える方法 vscodeで中国モードを切り替える方法 Apr 15, 2025 pm 11:39 PM

vs中国モードを切り替えるコード:設定インターフェイスを開き(Windows/Linux:Ctrl、MacOS:CMD、)[エディター:言語]設定を検索します。ドロップダウンメニューで[中国語]を選択します。

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

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

vscodeの使用方法 vscodeの使用方法 Apr 15, 2025 pm 11:21 PM

Visual Studio Code(VSCODE)は、Microsoftが開発したクロスプラットフォーム、オープンソース、および無料のコードエディターです。軽量、スケーラビリティ、および幅広いプログラミング言語のサポートで知られています。 VSCODEをインストールするには、公式Webサイトにアクセスして、インストーラーをダウンロードして実行してください。 VSCODEを使用する場合、新しいプロジェクトを作成し、コードを編集し、コードをデバッグし、プロジェクトをナビゲートし、VSCODEを展開し、設定を管理できます。 VSCODEは、Windows、MacOS、Linuxで利用でき、複数のプログラミング言語をサポートし、マーケットプレイスを通じてさまざまな拡張機能を提供します。その利点には、軽量、スケーラビリティ、広範な言語サポート、豊富な機能とバージョンが含まれます

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

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

vscode setting中国のチュートリアル vscode setting中国のチュートリアル Apr 15, 2025 pm 11:45 PM

VSコードは、ステップに従うことで完了することができる中国の設定をサポートしています。設定パネルを開き、「ロケール」を検索します。 「locale.language」を「zh-cn」(単純化された中国人)または「zh-tw」(伝統的な中国語)に設定します。設定を保存し、コードを再起動します。設定メニュー、ツールバー、コードプロンプト、およびドキュメントが中国語で表示されます。ファイルタグ形式、エントリの説明、診断プロセス言語など、他の言語設定もカスタマイズできます。

vscodeに複数のコメント行を入力する方法 vscodeに複数のコメント行を入力する方法 Apr 15, 2025 pm 11:57 PM

vsコードマルチラインコメントのメソッドは次のとおりです。1。ショートカットキー(Ctrl K CまたはCMD K C); 2。コメントシンボル( / /)を手動で追加します。 3。メニュー( "コメントブロック"); 4.拡張機能を使用します。 5。Recursiveコメント( /* /)およびブロックコメント({ /および /})。マルチラインのコメントは、コードの読みやすさと保守性を改善するのに役立ちますが、過剰使用を避ける必要があります。

vscode端子使用チュートリアル vscode端子使用チュートリアル Apr 15, 2025 pm 10:09 PM

VSCODEビルトインターミナルは、エディター内でコマンドとスクリプトを実行して開発プロセスを簡素化できるようにする開発ツールです。 VSCODE端子の使用方法:ショートカットキー(CTRL/CMD)で端子を開きます。コマンドを入力するか、スクリプトを実行します。 Hotkeys(Ctrl Lなどの端子をクリアするなど)を使用します。作業ディレクトリ(CDコマンドなど)を変更します。高度な機能には、デバッグモード、自動コードスニペット完了、およびインタラクティブコマンド履歴が含まれます。

See all articles