mysql中如何mysql查看当前连接数最大连接数max

mysql 如何更新mysql的最大连接数(max_connections)配置 - 为程序员服务
为程序员服务
如何更新mysql的最大连接数(max_connections)配置
如果你的系统出现“too many connections”的错误, 你可以尝试修改mysql的max_connections属性。
我们先来看下如何查看当前mysql的max_connections的值:
show variables like &max_connections&;
显示的结果如下格式
+-----------------+-------+
| Variable_name
+-----------------+-------+
| max_connections | 100
+-----------------+-------+
可以通过下面的sql语句将max_connections的值设置为200,当然前提是当前登录的用户有足够的权限:
set global max_connections = 200;
这个设置会马上生效,但是当mysql重启时这个设置会失效,更好的办法是修改mysql的ini配置文件my.ini
找到mysqld块,修改或者添加下面的设置:
max_connections=200
这样修改之后,即便重启mysql也会默认载入这个配置了
您可能的代码
相关专栏文章
相关聚客文章ORACLE查看并修改最大连接数
阅读:39668次&&&时间: 23:18:52&&
第一步,在cmd命令行,输入sqlplus第二步,根据提示输入用户名与密码1. 查看processes和sessions参数  SQL& show parameter processes  NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&TYPE&&&&&&&&VALUE  db_writer_processes&&&&&&&&&&&&&&&&&integer&&&&1  gcs_server_processes&&&&&&&&&&&&&&&&integer&&&&0  job_queue_processes&&&&&&&&&&&&&&&&&integer&&&&10  log_archive_max_processes&&&&&&&&&&&integer&&&&2  processes&&&&&&&&&&&&&&&&&&&&&&&&&&&integer&&&&50  SQL& show parameter sessions  NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&TYPE&&&&&&&&VALUE  license_max_sessions&&&&&&&&&&&&&&&&integer&&&&0  license_sessions_warning&&&&&&&&&&&&integer&&&&0  logmnr_max_persistent_sessions&&&&&&integer&&&&1  sessions&&&&&&&&&&&&&&&&&&&&&&&&&&&&integer&&&&60  shared_server_sessions&&&&&&&&&&&&&&integer  2. 修改processes和sessions值  SQL& alter system set processes=300 scope=  系统已更改。  SQL& alter system set sessions=335 scope=  系统已更改。  3. 修改processes和sessions值必须重启oracle服务器才能生效  ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:  sessions=(1.1*process+5)  摘(二)  查询数据库当前进程的连接数:  select count(*) from v$  查看数据库当前会话的连接数:  elect count(*) from v$  查看数据库的并发连接数:  select count(*) from v$session where status='ACTIVE';  查看当前数据库建立的会话情况:  select sid,serial#,username,program,machine,status from v$ 查询数据库允许的最大连接数:  select value from v$parameter where name = 'processes';  或者:show  修改数据库允许的最大连接数:  alter system set processes = 300 scope =  (需要重启数据库才能实现连接数的修改)  重启数据库:      查看当前有哪些用户正在使用数据:  select
osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine  from v$session a,v$sqlarea b  where a.sql_address = b.address  order by cpu_time/  备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。  启动oracle  su - oracle  sqlplus system/pwd as sysdba&&//进入sql  startup&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//启动数据库  lsnrctl
start&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//启动监听  sqlplus "/as sysdba"      
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
Copyright &
All Rights Reserved如何查看MySQL各IP连接数
要统计数据库的连接数,我们通常情况下是统计总数,没有细分到每个IP上。现在要监控每个IP的连接数,实现方式如下:
& select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.pro
通过直接执行也可以实现:
#mysql -u root -h127.0.0.1 -e&show processlist\G;&| egrep &Host\:& | awk -F: '{ print $2 }'| sort | uniq -c
#mysql -u root -h127.0.0.1 --skip-column-names -e&&|awk '{print $3}'|awk -F&:& '{print $1}'|sort|uniq &c
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------一个Web报表项目的性能分析和优化实践(六):设置MySQL的最大连接数(max_connections) - 推酷
一个Web报表项目的性能分析和优化实践(六):设置MySQL的最大连接数(max_connections)
因此,需要手动设置MySQL的最大连接数(max_connections)。
就是这么一个简单的事,花了几个小时,查询很多资料,请教好友同事“飞鸟”,才搞定这个问题。
问题中存在问题,问题中存在陷阱,是这个问题的真实写照。
1.设置MySQL的最大连接数。
&网友有如下经验,使用下面这个命令
&set GLOBAL max_connections=1500;
让人迷惑的是,提示“查询OK,0行受到影响”
&mysql&& set GLOBAL max_connections=1500;
&Query OK, 0 rows affected (0.00 sec)
&我误认为没有设置成功,并且通过“show status”这个命令也没有找到“max_connections”这个参数和值。
实际查询确认方法
&mysql& show variables like '%max_connections%';
+—————–+——-+
| Variable_name&& | Value |
+—————–+——-+
| max_connections | 1500& |
+—————–+——-+
1 row in set (0.05 sec)
通过这种方法,MySQL重启后,仍然有效。
2.MySQL配置文件总是被忽略。
World-writable config file '/f' is ignored
To fix this problem, use the following command to change file’s permissions
要修复该问题,使用以下命令更改该文件的权限。
chmod 644 /f
权限过大是导致这个问题的原因。
3.奇葩的MySQL配置文件。
Linux系统/f有下面这项配置。
&因为第一次打开这个文件的时候,就有这项配置,我就觉得这个配置是合理的。
&不但如此,我们启动MySQL的方式是 &mysqld_safe &&,所以我理解成下面这个配置是
&专门为这个命令配置的。
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
datadir=/usr/local/mysql/var
socket=/usr/local/mysql/mysql.sock
max_connections=1000
&实际上,上面这个配置根本是不合理的,真够坑的。
正确的配置
datadir=/usr/local/mysql/var
socket=/usr/local/mysql/mysql.sock
pid-file=/usr/local/mysql/mysqld.pid
log-error=/var/log/mysqld.log
max_connections=1000
1:如果这个地方配置了“max_connections”,同时设置了“set GLOBAL max_connections=1500”,哪个会起作用呢?
2:今天在看MySQL5.1参考手册时,&一般情况,你不应编辑
mysqld_safe
脚本。相反,应使用命令行选项或
选项文件的
[mysqld_safe]
部分的选项来配置
mysqld_safe
。&貌似[mysqld_safe]是可以存在的。
更多详细配置
可以参考Windows下MySQL的配置参数,&my.ini、&my-huge.ini、&my-large.ini。
4.mysqld_safe正确的启动方式。
&mysqld_safe &&&,&&&的作用是让MySQL服务在后台跑。这样,咱们仍然可以正常使用当前bash终端。
&以前书上有讲过,忘记了。
5.无法使用localhost主机连接mysql。
&mysql -uroot -p123456
&无法登录,提示&Can't connect to local MySQL server through socket '/tmp/mysql.sock'&
&而 mysql -h 192.168.1.1 -uroot -p123456
&可以登录。
最终,我们发现mysql.sock是手动创建的,而Linux的socket文件是不能被编辑的。
&解决方案:给个链接。
&ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
或者mysql的配置文件socket=/usr/local/mysql/mysql.sock,不使用/tmp/mysql.sock。
在解决这个看似简单的问题过程中,遇到了更多的问题。
此外,认真看书,打好基础,也是可以避免一些问题的。
幸好,有网友分享经验,有好友同事“飞鸟”相助,总算是圆满解决了。
自己也算是积累了不少经验。
“老鸟”与“菜鸟”的一个重要区别就是,“老鸟”有着丰富的实践经验,而“菜鸟”没有。
很多问题,不亲自遇到并解决一次,你根本就不知道这些莫名其妙的问题为什么会发生。
我不想一直作为“菜鸟”,希望早日成为“老鸟”,倘若是一只“年轻的老鸟”就更好了。
不但如此,还希望能够及时总结这些经验,供今日的和明日的菜鸟参考。
若干年之后,当回想起作为“菜鸟”的日子,亦能感到自豪。
已发表评论数()
&&登&&&陆&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
怎么进入命令行呢? mysql的安装目录下面有个bin目录,先用命令行进入该目录,然后用
mysql -uroot -p123456 来登录(注意:用户名和密码不用包含“”)
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
只列出前100条,如果想全列出请使用s
命令:show status like '%下面变量%';
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'MySql状态查看方法-MySql如何查看连接数和状态',
blogAbstract:'MySql状态查看方法-MySql如何查看连接数和状态\n&\n怎么进入'
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 mysql查看当前连接数 的文章

 

随机推荐