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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

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)

MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

How to switch Chinese mode with vscode How to switch Chinese mode with vscode Apr 15, 2025 pm 11:39 PM

VS Code To switch Chinese mode: Open the settings interface (Windows/Linux: Ctrl, macOS: Cmd,) Search for "Editor: Language" settings Select "Chinese" in the drop-down menu Save settings and restart VS Code

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

How to use VSCode How to use VSCode Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCode) is a cross-platform, open source and free code editor developed by Microsoft. It is known for its lightweight, scalability and support for a wide range of programming languages. To install VSCode, please visit the official website to download and run the installer. When using VSCode, you can create new projects, edit code, debug code, navigate projects, expand VSCode, and manage settings. VSCode is available for Windows, macOS, and Linux, supports multiple programming languages ​​and provides various extensions through Marketplace. Its advantages include lightweight, scalability, extensive language support, rich features and version

How to type multiple lines of comments in vscode How to type multiple lines of comments in vscode Apr 15, 2025 pm 11:57 PM

VS Code The methods of multi-line commenting are: 1. Shortcut keys (Ctrl K C or Cmd K C); 2. Manually add comment symbols (/ /); 3. Select menu ("Comment Block"); 4. Use extensions; 5. Recursive comments (/* /) and block comments ({/ and /}). Multi-line comments help improve code readability and maintainability, but overuse should be avoided.

SQL and MySQL: Understanding the Relationship SQL and MySQL: Understanding the Relationship Apr 16, 2025 am 12:14 AM

The relationship between SQL and MySQL is the relationship between standard languages ​​and specific implementations. 1.SQL is a standard language used to manage and operate relational databases, allowing data addition, deletion, modification and query. 2.MySQL is a specific database management system that uses SQL as its operating language and provides efficient data storage and management.

How to set shortcut keys for sublime How to set shortcut keys for sublime Apr 16, 2025 am 09:15 AM

To set the shortcut keys for Sublime Text, follow these steps: Open the shortcut key settings file Key Bindings - User. Add shortcut key settings using the format { "keys": ["key combination"], "command": "command" }. Save changes. Reload the shortcut key settings for the changes to take effect.

See all articles