例如:如果sample1和sample2包含5条记录,则在sample1中删除一条记录必须在sample2中反映出来。
我使用WAMP并与MySQL一起使用PHP。请帮忙...
$database1 = "students";
$database2 = "employees";
$conn1 = mysql_connect('host1', 'user', 'password');
if(!$conn1) {
die("Not connected: ". mysql_error());
}else{
mysql_select_db($database1, $conn1);
}
$conn2 = mysql_connect('host2', 'user', 'password', TRUE);
if(!$conn2) {
die("Not connected: ". mysql_error());
}else{
mysql_select_db($database2, $conn2);
}
:-)
。 - halfer据我理解,您希望将sample1与sample2设置为相同,并自动分配查询。
看起来最好的方法(也许不是最简单的)是使用mysql的复制功能:https://dev.mysql.com/doc/refman/5.0/en/replication-howto.html
编辑:这个答案可能不是您需要的答案,因为使用复制功能时,您需要确保两个服务器中的其中一个服务器(主服务器)始终处于运行状态,或者如果您想关闭两个服务器,则需要第三个服务器。
您可以通过文章来实现数据库复制,或者按以下步骤操作。
这里有一篇由Falko Timme撰写的教程,它将展示如何将IP地址为192.168.0.100的主服务器上的数据库exampledb复制到从服务器。两个系统(主服务器和从服务器)都运行Debian Sarge;但是,几乎所有发行版都应该可以进行少量或无修改的配置。
要配置主服务器,我们首先必须编辑/etc/mysql/my.cnf文件。我们必须为MySQL启用网络,并且MySQL应该在所有IP地址上侦听,因此我们注释掉这些行(如果存在):
#skip-networking
#bind-address = 127.0.0.1
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db=exampledb
server-id=1
然后我们重新启动MySQL:
/etc/init.d/mysql restart
然后我们以 root 身份登录到 MySQL 数据库,并创建一个具有复制权限的用户:
mysql -u root -p
Enter password:
现在我们正在使用MySQL shell。
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY '<some_password>'; (Replace <some_password> with a real password!)
FLUSH PRIVILEGES;
接下来(仍然在MySQL shell上)执行以下操作:
USE exampledb;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
最后一个命令将显示如下内容:
+---------------+----------+--------------+------------------+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+---------------+----------+--------------+------------------+
| mysql-bin.006 | 183 | exampledb | |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
记录下这些信息,我们在从机上稍后会用到它!
然后离开MySQL shell:
quit;
从主服务器到从服务器获取exampledb中现有的表和数据有两种可能性。第一种是制作数据库转储,第二种是在从服务器上使用LOAD DATA FROM MASTER;命令。后者的缺点是在此操作期间主服务器上的数据库将被锁定,因此如果您在高流量生产系统上拥有大型数据库,则不建议使用此方法,我建议在这种情况下遵循第一种方法。但是,后一种方法非常快,因此我将在此处描述两种方法。
如果您想遵循第一种方法,请执行以下操作:
mysqldump -u root -p<password> --opt exampledb > exampledb.sql (Replace <password> with the real password for the MySQL user root! Important: There is no space between -p and <password>!)
这将在exampledb.sql文件中创建一个exampledb的SQL转储。将此文件传输到您的从服务器!
如果您想使用LOAD DATA FROM MASTER方式,则现在无需执行任何操作。
最后,我们必须解锁exampledb中的表:
mysql -u root -p
Enter password:
UNLOCK TABLES;
quit;
这里有两种方案供您参考:
希望能对您有所帮助!
https://dev59.com/L2025IYBdhLWcg3wvIgo
http://www.quora.com/How-do-I-link-two-different-MySQL-databases-across-different-domains - phpfresher