MySQL查看最大链接数和修改最大链接数mysql
一、查看最大链接数
show variables like '%max_connections%';
二、修改最大链接数
set GLOBAL max_connections = 200;linux
如下的文章主要是向你们介绍的是MySQL最大链接数的修改,咱们你们都知道MySQL最大链接数的默认值是100, 这个数值对于并发链接不少的数据库的应用是远不够用的,当链接请求大于默认链接数后,就会出现没法链接数据库的错误,所以咱们须要把它适当调大一些。在使 用MySQL数据库的时候,常常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是由于访问MySQL且还未释放的链接数目已经达到MySQL的上限。一般,mysql的最大链接数默认是100, 最大能够达到16384。sql
经常使用的修改最大链接数的最经常使用的两种方式以下:数据库
第一种:命令行查看和修改最大链接数(max_connections)。编程
>mysql -uuser -ppassword(命令行登陆MySQL)
缓存
mysql>show variables
like
'max_connections'
;(查能够看当前的最大链接数)
msyql>
set
global
max_connections=1000;(设置最大链接数为1000,能够再次查看是否设置成功)
mysql>exit
这种方式有个问题,就是设置的最大链接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。由于mysql启动后的初始化工做是从其配置文件中读取数据的,而这种方式没有对其配置文件作更改。服务器
第二种:经过修改配置文件来修改mysql最大链接数(max_connections)。并发
这种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改成max_connections=1000,而后重启MySQL便可。可是有一点最难的就是 my.ini这个文件在哪找。一般有两种可能,一个是在安装目录下,另外一种是在数据文件的目录下,安装的时候若是没有人为改变目录的话,通常就在 C:/ProgramData/MySQL往下的目录下,linux系统中通常在/etc目录下。post
其余需注意的:spa
在编程时,因为用MySQL语句调用数据库时,在每次之执行语句前,会作一个临时的变量用来打开数据库,因此你在使用MySQL语句的时候,记得在每次调用完MySQL以后就关闭MySQL临时变量。
另外对于访问量大的,能够考虑直接写到文本中,根据预测的访问量,先定义倘若是100个文件文件名,须要的时候,再对全部文本文件中的数据进行分析,再导入数据库。
若是是root账号,你能看到全部用户的当前链接。若是是其它普通账号,只能看到本身占用的链接
怎么进入mysql命令行呢? mysql的安装目录下面有个bin目录,先用命令行进入该目录,而后用 mysql -uroot -p123456 来登陆(注意:用户名和密码不用包含“”)
命令: show processlist;
若是是root账号,你能看到全部用户的当前链接。若是是其它普通账号,只能看到本身占用的链接。
show processlist;只列出前100条,若是想全列出请使用show full processlist;
mysql> show processlist;
命令: show status;命令: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 服务器工做了多少秒。