我有一个脚本的2个sql表,我需要同步到另一个,这可以用php cron(这是我的计划)从一行执行
表1表2
第1行< ---->第1行
第2行< ---->第2行
第3行没有同步第3行
同一服务器上的两个数据库 并且同一个用户拥有两者的完全权利
我正在寻找一个通过cpanel cron执行此操作的PHP代码
根据想法,最好合并两者,以便两个更新都与新数据一起?
问题是在上面的例子中我需要第3行才能在两个数据库上都没有改变
我非常诺布,所以请提前好好的lol Thx
更新 *
我应该学习如何更好地解释。
这两个数据库都是站点的控制面板,其中一个表行中有系统URL,所以如果我共享数据库"站点2"链接指回"网站1"这对我来说是一个复杂的问题,因为我对此很陌生。
我需要的是保持两个数据库都是最新的,除了那一行对于两个数据库都是不同的。
我还没有尝试任何东西,因为我不知道从哪里开始:(大声笑)
答案 0 :(得分:2)
你不必使用cron。当前版本的MySQL支持TRIGGERS
和EVENTS
。
您可以使用TRIGGER将数据复制到另一个表。该副本(或任何其他操作)可能由某个事件触发(如表中的插入,更新或删除)。 TRIGGER
可以运行任何查询或任何PL / SQL代码。
其他选项是EVENT
。这就像在MySQL中构建的内部任务sheduler。它还可以运行查询或任何PL / SQL代码,但它由系统时间(如Linux Cron)触发。与cron相比,它有许多优点。
PL / SQL是程序性SQL,包含循环,变量等。
如果你认为你是“noob” - 我已经治好了你。阅读关于MySQL的书籍或者你是否懒惰 - 观看一些教程(http://thenewboston.org,http://phpacademy.org)。
这里没有人会为你编写代码。我们只能修复错误,提供建议等。:)
EDIT。
EVENT示例:
-- this is comment in SQL language (line starts with --)
CREATE EVENT event_daily_copy_something
ON SCHEDULE
EVERY 1 DAY
COMMENT 'This text will appear in MySQL Workbench as description of event'
DO
BEGIN
INSERT INTO your_db_name.target_table_name(id, field)
SELECT id, something
FROM your_db_name.source_table_name
WHERE id = 3;
END
表的同步非常复杂。我认为你在事件中需要很少的操作。