如何链接2个MySQL数据库与bash脚本
我想用bash脚本将数据库中特定表中的行插入到另一个数据库中。 这两个数据库位于不同的服务器上。 我怎样才能做到这一点?
我想要这样的东西:
INSERT INTO db1.table1(row1,row2)SELECT row1,row2 FROM db2.table2;
但是数据库在不同的服务器上。
谢谢。
我想你需要使用ssh
来执行一个远程命令和mysldump
来获取来自远程数据库和mysql的行以将行插入本地数据库。
ssh <remoteuser>@<remoteServer> mysqldump -t -u <remoteDbUser> -p<remoteDbPass> <remoteDbName> <remoteDbTable> -w<whereCondition> | mysql -u <localDbUser> -p<localDbPass> <localDbName>
注意:
使用手册页获取有关mysqldump命令的更多信息。
我建议在Percona Toolkit中使用pt-archiver工具。 它可以将行从一个实例复制或移动到另一个实例。 它有效并且渐进地完成了它的工作。
例:
$ pt-archiver --no-delete
--source h=host1,D=db1,t=table1
--dest h=host2,D=db2,t=table2
--columns col1,col2
--where "1=1" --limit 1000 --commit-each
如果你想在同一台服务器上的两个MySQL数据库之间进行操作,很容易。 看到这个主题:
http://forums.mysql.com/read.php?61,3063,4004#msg-4004
如果你想从另一台服务器上的数据库传输数据,或者它是不同类型的数据库,那就更困难了,你可能不得不使用软件或构建一些数据库。 MySQL没有Oracle提供的数据库链接功能
链接地址: http://www.djcxy.com/p/75329.html