Mysqlデータを同期する方法_PHPチュートリアル
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 データの同期は完了しました。まだ興味がある場合は、編集と削除を同期するためのより良い方法を考えてみてください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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