我在同一台服务器上有两个 MySQL 数据库,这意味着主机名相同。
我想使用 REPLACE INTO 语句将 DB1 中的数据替换为 DB2 中的数据。
问题在于两个数据库具有不同的登录凭据。
请教我该怎么做?
问候, 卡尔佩什
最佳答案
您需要一个对这两个数据库都具有适当访问权限的帐户。之后,您可以在表名之前使用数据库名称来指定要使用的表。
REPLACE INTO Database1.Table1(A, B, C)
SELECT A, B, C
FROM Database2.Table1
对于两个不同的帐户,这将不起作用,但帐户是为每个服务器创建的,因此您可以为此目的创建一个不同的帐户,或者授予其中一个现有帐户访问另一个数据库的权限。
如果无法获得这样的帐户,我认为唯一的选择是从第一个数据库中导出表,以不同的名称将其导入到第二个数据库中,然后在导入的表上运行该语句。
关于MySQL 同一个数据库两台主机替换成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30684124/