【问题标题】:mysql copy data between two servers (localhost) different portsmysql 在两台服务器(localhost)不同端口之间复制数据
【发布时间】:2017-11-18 00:26:28
【问题描述】:

我已经在 localhost 上设置了两个 mysql 服务器,它们侦听两个不同的端口。

server_A:3306 和 serverB:3307

我需要将server_A的数据复制到server_B,

但在 server_B 中我需要更改数据库名称、表名称和列名称

在开始进行测试之前,我想知道是否有人知道 FEDERATED 是否可以用于这种情况,或者其他什么更适合这样做?

【问题讨论】:

  • 您要设置复制还是只设置一次导出-导入作业?
  • 是的,有点像复制(数据),但只更改名称......然后......一旦名称被更改,从那时起我将只检查两者之间是否有变化两个
  • 要检查更改,然后我将对每个表的 * .frm 文件 + 内部的 TIMESTAMP 列使用 PHP filemtime()。这不会是一个问题。我还不得不说,这只是为了开发,所以不关心安全
  • 您能不能只复制同一张表,然后在 server_B 上查看原始数据库的不同表名和列名?
  • 没有。我真的要改名字了。我现在正在解决这个问题。在某些步骤中: 1 我制作了一个 mysqldump(单独的文件结构和分隔文本) 2. 使用 PHP preg_replace_callback 我更改了结构文件中的名称(这不是模棱两可的,我有所有名称的前缀) 3 在 server_B 中恢复它 如果 server_B 中不存在...如果存在,我检查 server_B 中的 .frm 文件是否比 server_A 更旧 ...如果更旧,我只检查时间戳列的最后更改。一个 php 脚本中的所有内容

标签: mysql


【解决方案1】:

对于服务器之间的复制,我通常推荐 MySQL 实用程序中的 MySQLDBCopy。但是所有这些名称的变化都使它成为不可能。如果不重命名列可以逃脱,则可以使用它。

【讨论】:

  • 谢谢...但不是...我需要更改名称
猜你喜欢
  • 2023-03-05
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-01
相关资源
最近更新 更多