【问题标题】:access two different databases on different servers in the same query在同一查询中访问不同服务器上的两个不同数据库
【发布时间】:2021-01-29 16:25:51
【问题描述】:

到目前为止,我们有一个带有 2 个数据库的服务器和一个可以访问其中任何一个的 mysql 用户。例如

`select * from magento.maintable, erp.maintable`

现在我们的 erp 非常慢,我们想在另一台服务器上分离我们的数据库,但是我们有数百(几乎一千)个 SQL 查询可以在同一个查询中访问两个数据库,例如

`insert into magento.table 
select * from erp.maintable`

或 select * from erp.maintable inner join magento.table... 越来越多

如何在不更改这些查询的情况下使所有内容都正常工作?但是数据库在不同的服务器上

为了访问数据库,我为每个数据库创建了一个类,并通过一个对象进行查询、插入、更新和删除,就像这样

`    public function exec($query, $result_array = true)
{
    $this->data->connect();
    $result = $this->data->query($query, $result_array);
    $this->data->disconnect();
    return $result;
}`

欢迎所有帮助,重点是找到一种最佳方法来执行此操作,而不必手动更改其他程序员进行的 1000 条 sql 查询

【问题讨论】:

  • 附加信息请求 - 来自您的 ERP 服务器。 RAM 大小、# 核心、MySQL 主机服务器上的任何 SSD 或 NVME 设备?在 pastebin.com 上发布并分享链接。从您的 SSH 登录根目录中,文本结果为:B) SHOW GLOBAL STATUS;至少 24 小时正常运行时间后 C) 显示全局变量; D) 显示完整的处理程序;和 可选的非常有用的信息,如果可用,包括 - htop 或 top 用于大多数活动应用程序,ulimit -a 用于 Linux/Unix 限制列表,iostat -xm 5 3 用于按设备和核心/cpu 计数的 IOPS,用于服务器工作负载调整分析提供建议。
  • 谢谢威尔逊 我有一个疑问,代码创建了一个 nw conecction foreach 脚本,也许这些脚本每天早上运行数百次并且连接不会关闭,有没有办法自动做到这一点?而不必通过脚本破坏mysql对象这是创建的对象 $sql = new mysqli('localhost', 'user_db', pass_db') 或 die(mysql_error());
  • 牧师,您可以灵活地与我进行Skype TALK吗?我的 Skype ID 是 wlhauck@aol.com,今天我将在接下来的两个小时有空。
  • 如果您有时间和灵活性,可以使用。

标签: php mysql server


【解决方案1】:

要在一个查询中访问多个数据库服务器,您必须使用 FEDERATED 数据库引擎或使用 replication 将 ERP 数据从另一台服务器复制到原始服务器。

使用 FEDERATED 引擎可能会导致额外的性能问题,并且复制需要进行一些设置工作。

如果新服务器的唯一原因是 ERP 中的性能,您可能想了解 ERP 速度慢的原因并尝试解决该问题(优化、将两个数据库移至新服务器等)。当您在同一台服务器上拥有两个数据库时,查询优化器能够组合并有效利用索引。

【讨论】:

  • 您好 slaakso,感谢您的回复 我们已经为数据库购买了一个 VPS 服务器,使用了 1 年,然后需要迁移数据库(原则上,一切都可以中止) 什么是复制?你能用你的话给我解释一下吗,你给我的链接我不太明白谢谢
  • 复制基本上是将数据从一台服务器中的数据库复制到另一台服务器中的数据库。 MySQL 复制在后台为您执行此操作。它允许您将 ERP 移动到另一台服务器,但仍使旧代码在复制的数据之上运行。我的建议是聘请顾问来看看您的 ERP 为何缓慢。数据库服务器不太可能无法处理同一服务器上的两个数据库,如果解决了,您的设置将更易于维护。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
相关资源
最近更新 更多