Articles of mysql

找出什么导致与Apache&PHP&Mysql的CLOSE_WAIT连接

首先,这是一点点的背景。 我们有一个定制的PHP应用程序,运行在Apache下,支持我们的网站。 我们目前在我们的网站上遇到高stream量。 这里是我们目前的设置: – 在负载平衡器后面的10个linux web服务器(每个服务器有8个CPU,30Go RAM) – 1个linux mysql数据库服务器(30个CPU,120个RAM) 大多数情况下,stream量都保持良好状态,但是有时候由于不确定的原因,我们看到活跃的mysql连接总数飙升。 它不断泄漏,直到达到最大限度,并最终导致我们的networking用户无法使用该应用程序。 发生这种情况时,从负载平均值,内存,CPU使用率,磁盘交换的angular度来看,所有的服务器都不错。 他们有足够的资源可用。 我们确实注意到有许多Apache进程都有一个CLOSE_WAIT连接状态。 我们在其中一个Web服务器上看到大约600个进程处于该状态。 这似乎是我们遇到的问题的症状。 但是,我们有困难深入挖掘。 这是我的问题: 为什么Apache挂在这些进程? 有什么工具或debugging技术可以用来找出是什么原因造成的? 我们应该看什么指标来了解正在发生的事情? 感谢您的帮助,

创build一个稳定的自动扩展应用程序服务器群集

我有两台服务器,每台运行50到100个不同的传统Web应用程序,使用从PHP到Python到Ruby-on-rails到NodeJS的各种语言编写。 我们希望这些机器老化,不安全,组织严密,没有一致的configuration逻辑,并且每个都运行两个mysqld实例(不要问)。 为此,我想要做到以下几点: 删除任何现在折旧的旧项目 沙盒中的每个应用程序,可能到自己的docker或乘客容器 将新服务器创build为自动缩放无状态群集,将每个MySQL数据库移动到其自己的RDS实例 可能甚至能够以类似于Heroku的方式自动缩放不活动的应用程序 最终,我想要做类似Deis或Flynn的事情,尽pipe目前这两种产品都没有生产准备。 我真的有点不知所措,我真的不知道从哪里开始。 有什么build议么? 乘客是我应该考虑的东西吗? 泊坞窗? 谢谢!

在OSX上重置MySQL密码不起作用(无法连接没有授权的表)

我首先说我已经浏览了大量关于重置mysql密码的post(在这里和在互联网上以及在mysql.com上关于重置pipe理员密码的文章 ),但没有任何东西似乎适用于我。 噢,我在命令行上工作也很新。 在似乎适用于所有人的“解决scheme”之下,但不适合我: Last login: Mon Nov 3 12:02:21 on console maurice@Maurices-MacBook-Pro:~$ sudo /usr/local/mysql/support-files/mysql.server stop Password: Shutting down MySQL . SUCCESS! maurice@Maurices-MacBook-Pro:~$ sudo mysqld_safe –skip-grant-tables 141103 12:25:35 mysqld_safe Logging to '/usr/local/mysql/data/Maurices-MacBook-Pro.local.err'. 141103 12:25:35 mysqld_safe A mysqld process already exists maurice@Maurices-MacBook-Pro:~$ 我不知道其他进程来自哪里,我不知道如何结束这个进程。 如果我继续按照说明并打开一个新的控制台选项卡,我会得到以下内容: Last login: Mon Nov 3 12:25:16 on ttys000 maurice@Maurices-MacBook-Pro:~$ mysql -u root […]

MySQL连接无处不在

我们正在运行一个分布在三个服务器上的网站。 其中两个是负载平衡的Web服务器,最后一个是专用的MySQL服务器。 mysql服务器使用2.6.18-92.1.6.el5#1 SMP内核和MySQL 5.0.45运行RHEL5 64位。 这也是一个非常强大的服务器,与至强L5420和8演出的RAM。 我们的Web服务器的PHP页面被configuration为使用mysqli。 通常情况下,我们并没有真正利用所有的资源,白天我们做了20-25次查询。 但是,每隔一段时间,我们都会在最大的数据库连接数限制内进行攻击,而且我们的网站也会遭到谴责。 更重要的是,这似乎是晚上发生的,网站的stream量应该是最低的。 我们开始在100个最大的连接,我们把它boost到300,但它仍然发生。 如果它有所作为,我们注意到有时会有大量的睡眠MySQL进程,但是没有任何连接到数据库的东西使用持久连接。 这不是每天晚上都会发生,我们有一些问题,每天晚上都会发出哗哗的声音,直到今天大约一个半星期的时间。 我们没有任何怪物查询,一次只能logging数据库的分钟数。 我们已经试过了SLOW_QUERY日志。 我们有几个查询出现在那里,但通常他们不会持续超过1或2秒,这是很less见的。 这听起来像什么特别? 在诊断问题方面,我们将如何从这里开始?

MySQL:狩猎未使用的数据库

有没有任何命令来查找一个月左右没有任何活动的数据库? 只需要SQL转储一个月,并运行差异,如果没有差异删除该数据库?

MySQL InnoDB表在phpMyAdmin中显示负数的行

我只用140万行将一个MyISAM表转换成了InnoDB。 当我将其转换为InnoDB时,它现在显示-140万行。 该表仍按预期工作,但为什么它在行列中显示为负数?

一个大规模如何可能杀死连接到MySQL?

我已经打开了太多的连接到MySQL,现在我无法访问它。 它说“太多的连接”。 我怎样才能closures所有这些连接? 我也不知道如何重新启动它,这可能会解决问题。

MySQL:max_allowed_pa​​cket大于1 GB是可能的吗?

在数字取证领域,1GB的数据包大小是非常常见的,我也遇到了麻烦。 使用内部的python脚本,我们从档案中提取文本,一些文件大到4GB,其中的文本可以轻松达到1GB。 然后我们使用Sphinxsearch使其可search。 所以,现在我正面临数据包太大的错误时,将这些文本插入数据库。 机器是64核心与64 GB的RAM,可以轻松handel Terrabytes。 所以我该怎么做? 另一个问题是,在<1GB数据包期间增加max_allow_packet是否也会增加内存使用量? 操作系统:Linux 2.6.39 Mysql:5.1和5.5

有没有一种更安全的方法来停止mysql(d)?

我在我便宜的虚拟机上运行非常困难的PHP脚本,每周有大约50万页的浏览量,所以这是有点问题。 我每天重新启动我的mysql两次。 这不会是问题,但重新启动MySQL时 /etc/init.d/mysql restart 它重新启动,然后它有时会说, Table './forum/phpbb_posts' is marked as crashed and last (automatic?) repair failed 这个表与这个难以理解的剧本没有任何关系,但是它却是250 000(1.8 gig)的表格,似乎崩溃了。 修理那个需要大约14分钟。 有没有更安全的方法来停止MySQL? 我知道我应该做备份,而且我这样做,但是每天只有一次数据还在增长(这些日子并不快) 目前在Debian GNU / Linux 6.0上运行

select正确的innodb_buffer_pool_size

我有一个24GB的机器运行MySQL(只有InnoDB表)。 我的innodb数据集是11.5GB大,我已经把我的innodb_buffer_pool_size设置为14GB,以允许一些增长。 所以整个innodb数据集被加载到内存中,这是很好的。 但是今天我注意到我的索引大小也超过了11GB。 增加我的innodb_buffer_pool_size是否是一个好主意,以便索引空间也适合? 或者这与它没有任何关系?