我们在Windows 2008基于云的服务器上运行基于PHP的Web应用程序。 这个应用程序在我们的环境之外运行良好(例如一个不同的IIS服务器),但是在我们的环境中非常慢。 基于谷歌search这是一个比较常见的情况。 我通过IIS web部署方法安装了PHP和MySQL … 这是我们的设置: Windows 2008 Server企业版SP2(32位) 微软IIS / 7.0 MySQL客户端版本:mysqlnd 5.0.8-dev – 20102224 $ Revision:321634 $ PHP扩展:mysqli 更新为IIS 7.0 FastCGI 用于PHP 5.3的Windows Cache Extension 1.1 我曾经在其他地方看过,ipv6可能是一个问题,所以我在networking适配器上closures了它。 该应用程序使用:localhost作为其连接 对我来说很简单,因为我对这些组件中的一些有点绿色…另外,重写PHP应用程序或修改它不是一个选项。 我相当确定我们的configuration是问题。
我试图build立一个简单的LAMP系统,同时保持一些基本的安全性。 如果我想创build一个MySQL来被PHP访问,那么在用户应该创build数据库的时候呢? 任何对最佳实践的参考都将大大受益。 谢谢!
我刚刚发现我的一个旧的MediaWiki被垃圾邮件侵入,名为“text”(包含页面内容)的数据库表大小为3GB。 我已经手动删除了所有的垃圾邮件页面,但是: 表格仍然是相同的大小。 我不知道它是如何达到3GB无论如何。 没有太多的垃圾邮件(大约一百个中等大小的页面) 我怎样才能摆脱这个混乱? 如果你想检查维基, 它在这里 。 数据库是MySQL 5.0.75。
这不是典型的服务器故障问题,但是我没有想法,也不知道要去哪里。 如果有更好的地方可以提出这个问题,请在评论中指出。 谢谢。 情况 我们有这个使用Zend Framework的 Web应用程序,所以在Apache Web服务器上运行PHP 。 我们使用MySQL进行数据存储,使用memcached进行对象caching。 该应用程序有一个非常独特的使用和加载模式。 这是一个移动的web应用程序,cronjob每过一个小时,通过数据库查看有一些信息等待或行动的用户,并将这些信息发送给(外部)通知服务器,将这些通知推送给他们。 在用户得到这些通知之后,转到应用程序并使用它,大多数时间很短。 一个小时后,同样的事情发生。 问题 在过去的几个星期里,应用程序的使用真正开始增长。 在过去几天里,我们在发送这些通知的过程中和之后 (基本上每个小时)遇到了非常高的负载和应用程序响应时间的两倍。 服务器不会崩溃或停止响应请求,它会变得越来越慢,往往需要20分钟才能恢复 – 直到同样的事情在整个小时再次启动。 我们有广泛的监测(New Relic,collectd),但是我弄不清楚有什么问题; 我找不到瓶颈。 这就是你进来的地方: 你能帮我弄清楚什么是错的,也许如何解决它? 附加信息 该服务器是一个16核心的英特尔至强(8核与超线程,我认为)和12GB内存运行Ubuntu 10.04(Linux 3.2.4-20120307 x86_64)。 Apache是2.2.x,PHP是5.3.2-1ubuntu4.11。 如果有任何configuration信息可以帮助分析问题,只需发表评论,我会添加它。 图表 信息 phpinfo()函数 APC状态 memcache状态 collectd stream程 中央处理器 阿帕奇 加载 MySQL的 平Vmem 磁盘 新的遗物 应用性能 服务器概述 stream程 networking 磁盘 (对不起,图表是GIF和不同的时间段,但我认为最重要的信息在那里)
我需要备份一些数据库,并将它们迁移到新的服务器上。 我会使用mysqldump,但问题是,我有问题启动mysqld / mysql(我正在迁移的部分原因)。 我一直在得到 # /etc/init.d/mysqld start MySQL Daemon failed to start. Starting mysqld: [FAILED] 基本上,我在一个媒体寺庙DV服务器,我用百胜尝试和升级的东西,并搞砸了一堆configuration,因为mediatemple没有使用百胜最初安装MySQL,PHP等… 不pipe怎样,幸好看起来我的旧表还在(我可以在/var/lib/mysql看到) 我的问题是 :是否有可能以某种方式将我的/var/lib/mysql的文件迁移到我的新服务器? 我想我可能只是“复制并粘贴”到我的新服务器的/var/lib/mysql目录中…理论上是否工作? 还是我有其他的select来移动表格? 我在CentOS上。
我有一个名为intranet_production的本地mysql数据库,并在远程服务器(我有根服务器和MySQL的访问)有一个名为“extranet”的数据库。 在远程extranet数据库内有数十个表。 我只需要其中的5个左右,所以导入整个数据库似乎过多。 我正在寻找导入数据库的最佳方式,一旦导入工作,我将把它设置为每24小时一个cron作业。 目前,远程数据库可以覆盖它只有本地数据,因为我们没有写入任何东西到导入的表。 因此,鉴于本地数据库被称为intranet_production ,而远程数据库被称为extranet ,导入表table1 , table2和table3的最佳方式是什么? 我遇到了以下方法,但我相信必须在远程服务器上运行才能导出表。 我需要在本地服务器上运行cron作业。 mysqldump db-name foo | ssh [email protected] mysql bar 任何指针将不胜感激!
我的MySQL服务器每秒运行大约100次和500次读取。 CPU使用率看起来很奇怪。 “我们”(用户)时间显示2-8%,而“sy”(内核/系统)时间显示50 +%。 这是一些vmstat输出: procs ———–memory———- —swap– —–io—- -system– —-cpu—- rb swpd free buff cache si so bi bo in cs us sy id wa 5 1 3088828 153744 492 238764 152 0 224 578 3225 2343 7 61 5 3 6 0 3088792 153356 492 239016 60 0 96 1955 3001 2102 8 […]
使用Plesk(v。10.2.0),我可以为MySQL数据库创build多个用户帐户。 我似乎没有find一种方法来限制其中一个用户帐户只读访问。 创build的用户无权执行GRANT / REVOKE。 我是否应该使用根据数据库访问帐户这个Plesk据说用来创build用户?
我有一个服务器上有多个不同的网站托pipe。 此外,它有MySQL服务器,为每个网站的住房信息。 在这个周末里,我对mysql-server上的其中一个数据库的查询速度很慢。 当然,它locking了Apache。 我只是想知道,硬件如此便宜,以及大量的虚拟化产品,是在同一台服务器上有多个网站过时的日子? 我只能想到在同一台服务器上托pipe多个站点的一个好处,这只是简单(不必开始/configuration一个新的实例)。 但我可以想到很多消极的东西。 合并一个站点使用户可以访问许多其他站点。 还有一些像缓慢的查询问题locking每个网站的Apache不会再发生。 所以很显然,在一个实例上托pipe很多网站是不好的做法? 我有权主张吗?
我有一个MySQL 5.5的VPS,因为明显的安全原因,它只在本地主机上进行监听。 我已经build立从我自己的机器到该VPS的VPN连接,我成功连接。 将所有MySQL数据库的访问权限授予连接到VPN的任何人,如同本地主机请求一样,最好的办法是什么? 我可能会用很傻的方式问这个问题,所以如果你不明白我的意思,我会详细说明。 编辑:VPS是Linux(Cent OS 5.6),如果有帮助。 MySQL正在侦听3306.我目前已经将来自我的IP的所有连接转发到机器的公共地址上的端口3306到127.0.0.1:3306。 但这不是很方便,因为我倾向于旅行,当我不在家的时候,这种方法就失败了。