怎样解决mysql的too many connections问题?
可以参考下列文章
http://www.mysqlperformanceblog.com/2010/03/23/too-many-connections-no-problem/
结论如下:
(1)mysql默认会给super用户留一个连接,你可以用这个预留的连接来登录,来增加连接数;但是如果连接的用户全是super权限的,则这个预留的连接不存在。这时可以用以下的命令来设置连接数:gdb -p $(cat data/mysql_sandbox5087.pid) -ex "set max_connections=5000" -batch
(2)wait_timout指的是一个连接被关闭前等待的秒数,在这之前连接未关闭,状态为sleep;因此,这个值要设置为一个合适的较小的值,可以使连接被回收的更快。
(3)set global max_connections=1500可以增大最大连接数
(4)set global max_user_connections=300,这个是任何给定的MySQL账户允许的最大同时连接数,可以防止某一个用户对mysql连接过多。
(5)interactive_timeout,服务器关闭交互式连接前等待活动的秒数(交互式连接是类似于像mysql管理工具中连接mysql的会话)
相关文档:
INET_ATON(expr)
给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数。地址可以是4或8比特地址。
mysql> SELECT INET_ATON('209.207.224.40');
+-----------------------------+
| INET_ATON('209.207.224.40') |
+-----------------------------+
| 3520061480 |
+-------------------- ......
MySQL的自带引擎肯定是够用了,但是在有些情况下,其他的引擎可能要比手头所用更适合完成任务。如果愿意的话,你甚至可以使用MySQL++ API来创建自己的数据库引擎,就像打穿气缸装上自己的化油器。现在让我们来看看你该如何选择引擎,以及如何在可用引擎之间切换。
选择你的引擎
你能用的数据� ......
MySQL查询表内重复记录
查询及删除重复记录的方法
(一)
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段 ......
今天我们看看关于MySQL慢日志的阅读。
我们知道,如果我们的语句不够优化,那么首先MySQL的慢日志是进一步优化的离线证据,虽然里面有好
多“伪慢语句”!
先不说怎么优化,如果你的日志有一条语句赌住了,那么会有不计其数的慢语句填充到MySQL的满日志里面。那么首先提炼出这些语
句就非常头疼。
今天主要� ......
详细解释和例子见下列文章:
http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/
http://www.penglixun.com/work/database/mysql_show_index_cardinality.html
(1)cardinality影响mysql optimizer对索引的选取
(2)可以通过show index from table_name来查看表的索引和cardinality
(3)in ......