我正在编写脚本以在同一台服务器上的两个MySql数据库之间执行任务,即截断一个数据库上的表,并将另一个数据库中的表行导入到此数据库中。连接到Mysql服务器以在两个数据库上运行任务
执行任务的用户对这两个数据库都拥有完全权限。
如何从命令行连接到两个数据库?
在此先感谢您的帮助。
我正在编写脚本以在同一台服务器上的两个MySql数据库之间执行任务,即截断一个数据库上的表,并将另一个数据库中的表行导入到此数据库中。连接到Mysql服务器以在两个数据库上运行任务
执行任务的用户对这两个数据库都拥有完全权限。
如何从命令行连接到两个数据库?
在此先感谢您的帮助。
您可以使用mysql
命令行实用程序使用适当的参数:
mysql -u root -h your_host -p your_db
这里root
是特权用户,并your_db
是它是通过缺省使用的数据库。您可以通过从mysql
控制台键入use another_db
命令来始终在数据库之间切换。
另请注意,您不必选择dabase(use db_name
)以便对其执行查询。你可以例如写一个类似这样的查询:
SELECT a.id, b.title FROM db1.table1 AS a
LEFT JOIN db2.table AS b ON b.id = a.foreign_id
感谢Emre,为我解决了这个问题。我认为如果我在两个不同的数据库上运行任务,我将不得不连接到它们两个而不是一个。 – Paul
@Paul您实际上正在连接到正在侦听套接字(TCP或UNIX)的数据库服务器,而不是数据库本身。因此,对同一数据库服务器上的不同数据库不需要不同的连接。 –
呃,我建议你打开两个终端窗口。连接命令是:
的mysql -u数据库用户名-h DBSERVER -p DBNAME
假设你已经安装的MySQL,这对于Ubuntu的将是:sudo易于得到安装mysql
http://blog.eukhost.com/webhosting/how-to-connect-to-my-mysql-database /这对于更多的阅读很有用 –
嘿,如果你发现我们的答案对我有帮助的话,不要忘记把问题标记为通过给予我们一个人的答案。就我个人而言,如果你给我打勾,我可以和代表联系,我会为获得第一个答案而获得徽章:)但这取决于你:P –