正确修改MySQL最大连接数的三种好用方案
以下的文章主要介绍的是正确修改MySQL最大连接数的三种好用方案,我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MySQL连接数的方法有两个。
方法一:
进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可
方法二:
MySQL最大连接数默认是100客户端登录:
MySQL -uusername -ppassword
复制代码
设置新的MySQL最大连接数为200:
MySQL> set GLOBAL max_connections=200
MySQL>SHOW VARIABLES;
MySQL>SHOW VARIABLES like 'max_%';
显示当前运行的Query:
MySQL> show processlist
如何查询mysql的已连接数
MySQL>show full processlist;
显示当前状态:
MySQL> show status
复制代码
退出客户端:MySQL> exit
查看当前MySQL最大连接数:MySQLadmin -uusername -ppassword variables
方法三:
以centos 4.4 下面的MySQL 5.0.33 手工编译版本为例说明:
vi /usr/local/MySQL/bin/MySQLd_safe
复制代码
找到safe_MySQLd编辑它,找到MySQLd启动的那两行,在后面加上参数 :
-O max_connections=1500
复制代码
具体一点就是下面的位置:
用红字特别说明:
then $NOHUP_NICENESS $ledir/$MySQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking -O max_connections=1500 >> $err_log 2>&1 else eval "$NOHUP_NICENESS $ledir/$MySQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args -O max_connections=1500 >> $err_log 2>&1"
复制代码
保存。
# service MySQLd restart # /usr/local/MySQL/bin/MySQLadmin -uroot -p variables
复制代码
输入root数据库账号的密码后可看到
max_connections 1500 即新改动已经生效。
还有一种方法,
修改原代码:
解开MySQL的原代码,进入里面的sql目录修改MySQLd.cc找到下面一行:
{"max_connections", OPT_MAX_CONNECTIONS, "The number of simultaneous clients allowed.", (gptr*) &max_connections, (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1, 0},
复制代码
把它改为:
{"max_connections", OPT_MAX_CONNECTIONS, "The number of simultaneous clients allowed.", (gptr*) &max_connections, (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1, 0},
复制代码
存盘退出,然后./con**ure ;make;make install可以获得同样的效果。以上的相关内容就是对修改MySQL最大连接数的3种方法的介绍,望你能有所收获。
原文出自【比特网】,转载请保留原文链接:http://bbs.chinabyte.com/thread-373798-1-1.html
如何查询mysql的已连接数??
请问如何查询mysqlserver当前已经连了多少用户??我用的是windows操作系统,server安装在别的机器上,我是客户端想获取server的已连接用户数。请告知。。
>show full processlist;
D:MySQLbin>mysqladmin processlist -uroot -pgene
不好意思,我描述的有问题。。我要得到的是已连接server的客户端的个数。。用这个show full processlist;语句得到了十几条记录,而且记录有重复的,就像你上面的那样,同一个用户登录它显示有两条记录,而我想得到的是1.
这个命令看到host
对host去冗余就是你要的了
查看MySQL连接数方法2010-06-09 13:031、查看当前所有连接的详细资料:
MySQLadmin -uroot -proot processlist
D:\MySQL\bin>MySQLadmin -uroot -proot processlist
+-----+------+----------------+---------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+----------------+---------+---------+------+-------+------------------+
| 591 | root | localhost:3544 | bbs | Sleep | 25 | | |
| 701 | root | localhost:3761 | | uery | 0 | | show processlist |
+-----+------+----------------+---------+---------+------+-------+------------------+
2、只查看当前MySQL连接数(Threads就是连接数.):
MySQLadmin -uroot -proot status
D:\MySQL\bin>MySQLadmin -uroot -proot status
Uptime: 2102 Threads: 3 Questions: 15531 Slow queries: 0 Opens: 0 Flush tab
les: 1 Open tables: 61 Queries per second avg: 7.389
3、修改MySQL最大MySQL连接数:
打开my.ini,修改max_connections=100(默认为100)。