Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql ExpressionEngine:git:本地开发:远程数据库_Mysql_Git_Expressionengine - Fatal编程技术网

Mysql ExpressionEngine:git:本地开发:远程数据库

Mysql ExpressionEngine:git:本地开发:远程数据库,mysql,git,expressionengine,Mysql,Git,Expressionengine,对于那些试图成为优秀的小开发人员并用git控制ExpressionEngine站点版本的人,您如何处理您的数据库 根据我在一个ExpressionEngine站点上与多个开发人员合作的有限经验,我们不得不在一个远程web服务器上运行一个MySQL开发数据库。对于你们中那些尝试过这个的人来说,它是非常缓慢的。页面加载很容易需要5-10秒,这使得开发非常困难。使用远程开发服务器会更快。我试图避免使用远程MySQL服务器,以便能够在任何地方工作,而不依赖于Internet连接速度/质量 只是想知道其他

对于那些试图成为优秀的小开发人员并用git控制ExpressionEngine站点版本的人,您如何处理您的数据库

根据我在一个ExpressionEngine站点上与多个开发人员合作的有限经验,我们不得不在一个远程web服务器上运行一个MySQL开发数据库。对于你们中那些尝试过这个的人来说,它是非常缓慢的。页面加载很容易需要5-10秒,这使得开发非常困难。使用远程开发服务器会更快。我试图避免使用远程MySQL服务器,以便能够在任何地方工作,而不依赖于Internet连接速度/质量

只是想知道其他人如何处理他们的MySQL数据库

您的所有开发人员都使用一个中央数据库吗?你有没有像我们一样处理过慢度问题

您是否对数据库进行版本控制?如何处理多个开发人员和多个分支之间的导出/导入

有了一个开发人员,我就可以很容易地导入/导出/提交数据库,但一旦您将另一个开发人员添加到混合中,它就会变得非常混乱。期待着听到大家对这个庞大话题的想法


谢谢

使用远程数据库时,DNS请求失败似乎会损失很多时间

使用
启动MySQL服务器使用--skip name resolve
启动MySQL。(有关此主题的更多信息可在此处找到:)


拥有一个远程数据库似乎仍然是我们与多个开发人员合作项目的最佳方式。

我几乎总是使用一个中央数据库进行开发。根据您使用的主机,速度差异可能不会很大

显然,如果您没有对数据库进行更改,即只进行模板开发,则不需要保持数据库同步,因此您可能会带来数据库的本地副本。如果你最终做了一些更改,你只需要记住重复任何数据库更改


至于版本控制,我在我的基本存储库中保留了我的基本EE安装的SQL文件的副本。除此之外,我通常不会在Git中保存数据库的副本,因此我不会做很多导入/导出等工作。

在我的公司(4个开发人员),我们每个人都在本地运行自己的数据库。但最近,我测试了Rackspace云数据库(但还有其他云数据库提供商),以获得可能难以在小型笔记本电脑上运行的重型数据库。与运行我们自己的db服务器相比,它的成本相对较低,而且它可以在几分钟内安装或删除。

您最近看过EE Profiler吗?您可能会注意到,根据其复杂性,您的主页上大约有20-80个查询

问题是,对于每个查询,MySQL都必须执行远程数据请求,下载响应,然后向ExpressionEngine提供它的数据。20-80次往返数据库是造成您延迟的原因,我认为您对此无能为力。当使用远程(网络之外)数据库时,我得到的延迟与您相同

当MySQL在您的机器或生产服务器上运行时,它没有添加的网络请求,从而导致数据请求延迟。这就是区别

至于修复,您所能做的就是移动到托管在内部网络上的数据库。我们有一台Linux机器,它模仿我们用于登台的生产环境。由于它在我们的网络上,我们可以在
database.php
文件中使用本地IP地址。这要快得多


我们仍然存在的问题是通道/字段/条目的问题。当开发人员正在处理一个新的部分时,他们可能需要创建一个新的频道、字段和/或新条目。当我们准备将该功能推向生产时,我们必须在生产服务器上手动进行这些更改,因为无法可靠地导出它们。不过我还是有希望的,我们拭目以待。

谢谢你的意见。我尝试了一下skip name resolve标志,但它并没有加快任何速度。当您在远程数据库上工作时,加载页面是否需要5-10秒?事实上,如果您使用的是MAMP或MAMP Pro,TCP侦听器在默认情况下处于禁用状态,以提高安全性和性能。pvledoux,我是否遗漏了什么?你的反应如何?@JacobGraf抱歉,我的反应有点粗糙。跳过名称解析“刚刚”禁用了连接到Mysql的客户端的DNS名称解析。但是,如果您对本地开发人员使用MAMP/MAMP-Pro,则不需要TCP/IP,因为您可以通过套接字直接连接到Mysql。在Windows上,你可以通过使用共享内存而不是文件套接字来实现这一点。我在运行远程数据库时,每页会有5-10秒的延迟。我不知道这里是不是发生了什么事。我理解它可能会稍微慢一点(例如,1秒的加载时间),但5-10秒是不可容忍的。我不知道是不是有什么别的东西把它挂了。我在WHM/cPanel专用虚拟服务器上。甚至不知道从哪里开始故障排除!:-)是的,我绝对不是MySQL专家,而且我以前肯定经历过延迟。通常,对数据库池进行奇特处理的主机从外部看往往非常慢。但我想这要看情况了。有趣。我将对此进行研究,只是为了开发,然后在发布后将其移动到localhost。谢谢我在MediaTemple(gs)帐户上配置了一个远程MySQL数据库,这使情况变得更糟,所以我想我应该试试AmazonRDS。从一个微实例开始。它比MiddleSimple更快,但只比我的常规VPS快一点点。我想我会尝试一个小实验,所以我在RDS上配置了一个四重ram实例(64GB ram,mega instance),如果我让它运行,它将花费我1700美元/月。我测试了它,它比我的VPS稍微好一点,但肯定不是1700美元/月,所以我杀死了它。:-)谢谢你提供的细节