2011-07-03 38 views
3

我正在编写脚本以在同一台服务器上的两个MySql数据库之间执行任务,即截断一个数据库上的表,并将另一个数据库中的表行导入到此数据库中。连接到Mysql服务器以在两个数据库上运行任务

执行任务的用户对这两个数据库都拥有完全权限。

如何从命令行连接到两个数据库?

在此先感谢您的帮助。

+0

嘿,如果你发现我们的答案对我有帮助的话,不要忘记把问题标记为通过给予我们一个人的答案。就我个人而言,如果你给我打勾,我可以和代表联系,我会为获得第一个答案而获得徽章:)但这取决于你:P –

回答

3

您可以使用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 
+0

感谢Emre,为我解决了这个问题。我认为如果我在两个不同的数据库上运行任务,我将不得不连接到它们两个而不是一个。 – Paul

+0

@Paul您实际上正在连接到正在侦听套接字(TCP或UNIX)的数据库服务器,而不是数据库本身。因此,对同一数据库服务器上的不同数据库不需要不同的连接。 –

3

呃,我建议你打开两个终端窗口。连接命令是:

的mysql -u数据库用户名-h DBSERVER -p DBNAME

假设你已经安装的MySQL,这对于Ubuntu的将是:sudo易于得到安装mysql

+0

http://blog.eukhost.com/webhosting/how-to-connect-to-my-mysql-database /这对于更多的阅读很有用 –

相关问题