Linux SSH数据库在两个数据库MySQL之间传输

时间:2011-12-09 08:30:02

标签: mysql linux

情况就是这样:我有linux服务器,里面有两个数据库。我需要创建一个cron作业来将一些数据从db1传输到db2。问题是我需要这个: db1->table1->column1 + db1->table1->column2 + db1->table2->column1使用这三个字段转移到db2->table1(create table)。任何人都可以帮我形成一个合适的cron作业命令吗?我知道如何在数据库之间传输表,但这要复杂得多。

1 个答案:

答案 0 :(得分:2)

this的部分副本。

在命令行中(至少)有两种方法可以实现这一目的:

mysql -u[user] -p[pass] -e "[mysql commands]"   

或:

mysql -u[user] -p[pass] <<QUERY_INPUT   
[mysql commands]   
QUERY_INPUT   

命令“CREATE TABLE testas.test ...”而不是[mysql命令],
将其保存为bash脚本“myscript”:

#!/bin/bash
user=$1
pwd=$2
mysql -u"$user" -p"$pwd" <<QUERY_INPUT   
[mysql commands]   
QUERY_INPUT  

使其可由crontab用户执行

chmod +x myscript

然后它取决于你用于cronjob的发行版。 例如,在Debian的发行版中,除了将脚本放入正确的目录之外,您不需要做任何其他事情。例如,您希望每天运行脚本,将文件移动到/etc/cron.daily 在这种情况下请注意不要忘记用2数据用户和密码调用cronjob: - )