Home Backend Development PHP Tutorial How to synchronize Mysql data_PHP tutorial

How to synchronize Mysql data_PHP tutorial

Jul 21, 2016 pm 04:09 PM
linux mysql Host point Synchronize and how data of system


How to synchronize Mysql data Suppose there are hosts A and B (Linux system). The IP of host A is 1.2.3.4 (of course, it can also be dynamic), and the IP of host B is 5.6.7.8. Both hosts are equipped with PHP+Mysql, and they are currently operating the data on host A. If another host B wants to synchronize the data with A, what should it do?

OK, let’s do it now.

First of all, if you want to synchronize data between two hosts, one method is for host A to send data to host B. Another method is for host B to get data from host A, because A’s IP It is dynamic (assumed), so we have to send data from host A to host B.

Create a Mysql account on host B.
# GRANT ALL ON test.* TO user@% IDENTIFIED BY "password"; //Create user user, who can access the test database on host B from any machine.

If an error is displayed here, first change % to an IP, and then use phpMyAdmin to change the IP to %. After the test is correct, you can write the php program.

$link=mysql_pconnect("localhost","user","password");
mysql_pconnect("localhost","user","password"); // Connect to the database of this machine (Host A)
mysql_select_db("test"); //Select database test

$re=mysql_query("select * from table order by id desc");
$num=mysql_numrows($re);
if (!empty($num)) {
$id=mysql_result($re,0,"id"); //Get the maximum ID of the local table
}

mysql_close($link); //Close the connection to the local database


$link=mysql_pconnect("5.6.7.8","test"," test");
mysql_pconnect("5.6.7.8","test","test"); //Connect to the database of host B
mysql_select_db("test"); //Select database test, this database should The structure of the test database on host A is the same.
$re=mysql_query("select * from table order by id desc");
$num=mysql_numrows($re);
if (!empty($num)) {
$remote_id =mysql_result($re,0,"id"); //Get the maximum ID of the host Btable table
}

if ($id>$remote_id) {
$result_id=$id- $remote_id; //If the maximum ID of the table in host A is greater than the maximum ID of the table in host B, it means that the data of the two
} are different

mysql_close($link); //Close host B Database connection


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

if (empty($result_id)) $result_id=0;
if (empty($remote_id)) $remote_id=0; //If the The maximum ID of the table is empty (there is no data in it), then wait for 0

$re=mysql_query("select * from table limit $remote_id,$result_id"); //Get the table table in host A and Different data in the table in host B
$num=mysql_numrows($re);
if (!empty($num)) {
for ($i=0;$i<$num; $i++) {
$test[$i]=mysql_result($re,$i,"test"); //Put different data into an array
}
}
mysql_close ($link); //Close the database connection of host A


$link=mysql_pconnect("5.6.7.8","user","password");
mysql_pconnect("5.6. 7.8","user","pasword");
mysql_select_db("test");

for ($j=0;$j<$i;$j++) { //i here Equivalent to comparing the number of different data in the table table on host A and host B

mysql_query("insert into table (test) values('$test[$j]')");

}

mysql_close($link); //Close the database connection of host B

?>

At this time, the data synchronization of host A and host B is initially achieved , but now people still need to manually activate this program every time. Is there any way to use it as a script and put it in crontab to automatically execute it at a specified time?

When installing php, an executable file called php will be automatically generated. It is usually under the /bin directory of php you installed. However, the lower version does not seem to have it. If there is no such file, you have to upgrade. your php.

#php -q test.php

php was originally used in web applications, so it will send HTML Header, but here we are going to use php as Shell Script﹐" -q" means not to send the Header.

Finally edit the file in /etc/crontab and add the following sentence.

0 0 * * * root /home/httpd/html/test //Execute the /home/httpd/html/test file at 0:00 every night (please check the cron related information for specific usage methods)

OK, the synchronization of Mysql data is almost completed here. If you are still interested, you can think of a better way to synchronize editing and deletion.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314513.htmlTechArticleHow to synchronize Mysql data. Let’s first assume that there are hosts A and B (Linux system). The IPs of host A are 1.2 respectively. .3.4 (of course, it can also be dynamic), the IP of host B is 5.6.7.8. Two main...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

deepseek web version entrance deepseek official website entrance deepseek web version entrance deepseek official website entrance Feb 19, 2025 pm 04:54 PM

DeepSeek is a powerful intelligent search and analysis tool that provides two access methods: web version and official website. The web version is convenient and efficient, and can be used without installation; the official website provides comprehensive product information, download resources and support services. Whether individuals or corporate users, they can easily obtain and analyze massive data through DeepSeek to improve work efficiency, assist decision-making and promote innovation.

How to fix mysql_native_password not loaded errors on MySQL 8.4 How to fix mysql_native_password not loaded errors on MySQL 8.4 Dec 09, 2024 am 11:42 AM

One of the major changes introduced in MySQL 8.4 (the latest LTS release as of 2024) is that the &quot;MySQL Native Password&quot; plugin is no longer enabled by default. Further, MySQL 9.0 removes this plugin completely. This change affects PHP and other app

How to install deepseek How to install deepseek Feb 19, 2025 pm 05:48 PM

There are many ways to install DeepSeek, including: compile from source (for experienced developers) using precompiled packages (for Windows users) using Docker containers (for most convenient, no need to worry about compatibility) No matter which method you choose, Please read the official documents carefully and prepare them fully to avoid unnecessary trouble.

BITGet official website installation (2025 beginner's guide) BITGet official website installation (2025 beginner's guide) Feb 21, 2025 pm 08:42 PM

BITGet is a cryptocurrency exchange that provides a variety of trading services including spot trading, contract trading and derivatives. Founded in 2018, the exchange is headquartered in Singapore and is committed to providing users with a safe and reliable trading platform. BITGet offers a variety of trading pairs, including BTC/USDT, ETH/USDT and XRP/USDT. Additionally, the exchange has a reputation for security and liquidity and offers a variety of features such as premium order types, leveraged trading and 24/7 customer support.

Ouyi okx installation package is directly included Ouyi okx installation package is directly included Feb 21, 2025 pm 08:00 PM

Ouyi OKX, the world's leading digital asset exchange, has now launched an official installation package to provide a safe and convenient trading experience. The OKX installation package of Ouyi does not need to be accessed through a browser. It can directly install independent applications on the device, creating a stable and efficient trading platform for users. The installation process is simple and easy to understand. Users only need to download the latest version of the installation package and follow the prompts to complete the installation step by step.

Get the gate.io installation package for free Get the gate.io installation package for free Feb 21, 2025 pm 08:21 PM

Gate.io is a popular cryptocurrency exchange that users can use by downloading its installation package and installing it on their devices. The steps to obtain the installation package are as follows: Visit the official website of Gate.io, click "Download", select the corresponding operating system (Windows, Mac or Linux), and download the installation package to your computer. It is recommended to temporarily disable antivirus software or firewall during installation to ensure smooth installation. After completion, the user needs to create a Gate.io account to start using it.

Ouyi Exchange Download Official Portal Ouyi Exchange Download Official Portal Feb 21, 2025 pm 07:51 PM

Ouyi, also known as OKX, is a world-leading cryptocurrency trading platform. The article provides a download portal for Ouyi's official installation package, which facilitates users to install Ouyi client on different devices. This installation package supports Windows, Mac, Android and iOS systems. Users can choose the corresponding version to download according to their device type. After the installation is completed, users can register or log in to the Ouyi account, start trading cryptocurrencies and enjoy other services provided by the platform.

Tokens to be listed: $DOGEL, $BRAIN, $BTD, $PINU and $PIMEME Tokens to be listed: $DOGEL, $BRAIN, $BTD, $PINU and $PIMEME Mar 03, 2025 pm 08:03 PM

The cryptocurrency market continues to develop, bringing investors a growing investment opportunity. The listing of new coins has always attracted much attention, and February 2025 is the month when new coins are crowded, providing investors with a wide range of choices. Cryptocurrencies to watch in February 2025: Potential projects that cannot be missed This article will focus on five cryptocurrency projects that will be launched in February, and whether you are an experienced investor or a newbie, you can find the projects you are interested in. They are DogeLife ($DOGEL), DistriBrain ($BRAIN), Bitcoin USD ($BTD), PiINU ($PINU) and PIMEME ($PIMEME). Please be prepared and put these days

See all articles