怎样解决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的会话)
相关文档:
Scale Out:横向扩展,增加处理节点提高整体处理能力
Scale Up:纵向扩展,通过提升单个节点的处理能力达到提升整体处理能力的目的
Replication
MySQL的replication是异步的,适用于对数据实时性要求不是特别关键的场景。slave端的IO线程负责从master读取日志,SQL线 程专门负责在slave端应用从master读过来的日志(早期 ......
前几天公司让我做C语言和MySQL数据库的交互操作,费了九牛二虎之力之后总算做出来了,今天特地把源代码贴出来供大家学习;如有人想要打包项目可以加我QQ260990509,注明技术交流,即可获得打包之后的项目!
#if defined(_WIN32) || defined(_WIN64) //为了支持windows平台上的编译
#include <windows.h>
#end ......
在[mysqld] 下添加参数如下
#错误日志输出路径(使用/作为分割而不是\)
log-error="your error-log path"
log="Your mysql log path"
log-show-queries="Your slowquery path"
#设定超时时间 此处设置为两秒
long_query_time=2
Ok save my.ini
next
#停止mysql 服务
net s ......
遇到一个问题是在MySQL命令行插入中文数据或者查询中文数据时出现乱码,或者显示不对。
在命令行输入:show variables like ‘character_set_%’;
查看当前配置的编码;
在命令行输入 :set names utf8;
则等同于
set character_set_client=utf8;
set character_set_results ......
详细解释和例子见下列文章:
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 ......