一、Mysql默认最大连接数
通过查看mysql安装目录的my.ini文件,发现mysql的默认最大的连接数为100,实际场景中,以及进行压测时,100时远远不够的,一般都会设置最大的连接数。
二、如何修改mysql最大连接数方法一:直接修改配置文件(永久生效)1、进入MySQL安装目录
2、打开MySQL配置文件 my.ini 或 my.cnf
3、查找 max_connections=100
4、修改为 max_connections=1000
5、服务里重起MySQL即可
方法二:进入mysql,通过命令行修改(不推荐,mysql重启后会恢复到初始状态)具体代码如下:
>mysql -uuser -ppassword(命令行登录MySQL)
mysql>show variables like ‘max_connections‘;(查可以看当前的最大连接数)
msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
mysql>exit
三、Mysql最大连接数可以设置达到16384四、Mysql的系统特性1、使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
2、支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
3、为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。
4、支持多线程,充分利用 CPU 资源。
5、优化的 SQL查询算法,有效地提高查询速度。
6、既能够作为一个单独的应用程序应e799bee5baa6e78988e69d8331333366306433用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
7、提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。
8、提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
9、提供用于管理、检查、优化数据库操作的管理工具。
10、支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
11、支持多种存储引擎。
12、MySQL 是开源的,所以你不需要支付额外的费用。
13、MySQL 使用标准的 SQL数据语言形式。
14、MySQL 对 PHP 有很好的支持,PHP是比较流行的 Web 开发语言。
15、MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。
Mysql的默认最大连接数及如何修改
标签:直接 web 编程 协议 管理工具 api 行修改 开源 lob
小编还为您整理了以下内容,可能对您也有帮助:
mysql最大连接数怎么设置
通常,mysql的最大连接数默认是100, 最大可以达到16384;如果我们想修改mysql的最大连接数,那要怎么设置?下面本篇文章就来带大家了解一下设置mysql最大连接数的两种方法,希望对大家有所帮助。【视频教程推荐:MySQL教程】
方法一:命令行修改
我们只需要打开mysql的控制台,输入“set GLOBAL max_connections=1000;”语句,就可直接设置最大连接数,如下图所示:
注:这种方法标不治本,只能暂时的修改最大连接数,一点重启mysql,最大连接数又会变回原先设置的值。
方法二:通过mysql配置文件来修改最大连接数
1、电脑上打开mysql安装目录,找到my.ini文件,如下图所示:
2、用记事本的方式打开my.ini文件,查找并修改“max_connections”的值,默认最大连接数是100,如下图所示:
设置“max_connections=1000”,这样就可设置mysql的最大连接数为1000。
3、设置完最大连接数之后,需要重启mysql服务
在【计算机】-->【管理】-->【服务和应用程序】-->【服务】-->【MySQL】
点击mysql,右键就可以启动或者关闭,如下图所示:
这样就设置好mysql最大连接数为1000了,且是永久设置。
怎么修改mysql的最大连接数
通常,mysql的最大连接数默认是100, 最大可以达到16384。
1、查看最大连接数:
show variables like '%max_connections%';
2、修改最大连接数
方法一:修改配置文件。推荐方法一
进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可.
方法二:命令行修改。不推荐方法二
命令行登录MySQL后。设置新的MySQL最大连接数为200:
MySQL> set global max_connections=200。
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
怎么修改mysql的最大连接数
通常,mysql的最大连接数默认是100, 最大可以达到16384。
1、查看最大连接数:
show variables like '%max_connections%';
2、修改最大连接数
方法一:修改配置文件。推荐方法一
进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可.
方法二:命令行修改。不推荐方法二
命令行登录MySQL后。设置新的MySQL最大连接数为200:
MySQL> set global max_connections=200。
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
怎么查看和修改 MySQL 的最大连接数
MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看
mysql> show variables like 'max_connections';
要对 mysql 的最大连接数进行修改,有三种方法:
1.在 my.cnf 配置文件里面修改 max_connections 的值,然后重启 mysql 就行。如果 my.ini 文件中没有找到 max_connections 条目,可自行添加以下条目:
max_connections = 200
2.命令行下执行 set GLOBAL max_connections=200
3.修改源代码
MySQL服务器允许的最大连接数16384,添加了最大允许连接数,对系统消耗增加不
其他状态查询命令:
显示当前运行的线程:mysql> show processlist
显示当前状态:mysql> show status
显示安装后的可用存储引擎和默认引擎 :show engines;
mysql默认最大连接数是多少
在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。
在Windows下常用的有两种方式修改最大连接数。
第一种:命令行修改。
>mysql -uuser -ppassword(命令行登录MySQL)
mysql>show variables like 'max_connections';(查可以看当前的最大连接数)
msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
mysql>exit(推出)
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
第二种:修改配置文件。
这 种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可。但是有一点最难的就是my.ini这个文件在哪找。通常有两种可能,一个是在安装目录下(这是比较理想的情况),另一种是在数据文件的目录下,安装的时候如果没有人为改变目录的话,一般就在C:/ProgramData/MySQL往下的目录下。
与连接数相关的几个参数:
在修改最大连接数的时候会有这样一个疑问—这个值是不是越大越好,或者设置为多大才合适?这个参数的大小要综合很多因素来考虑,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。可以在global或session范围内修改这个参数。连接数的增加会带来很多连锁反应,需要在实际中避免由此引发的负面影响。
首先看一下MySQL的状态:
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.5.15, for Win32 (x86)
Connection id: 1
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.5.15 MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 1 hour 3 min 27 sec
Threads: 12 Questions: 18 Slow queries: 10 Opens: 33 Flush tables: 5 Open tab
les: 34 Queries per second avg: 6.256
--------------
Open tables:34,即当前数据库打开表的数量是34个,注意这个34并不是实际的34个表,因为MySQL是多线程的系统,几个不同的并发连接可能打开同一个表,这就需要为不同的连接session分配独立的内存空间来存储这些信息以避免冲突。因此连接数的增加会导致MySQL需要的文件描述符数目的增加。另外对于MyISAM表,还会建立一个共享的索引文件描述符。
在MySQL数据库层面,有几个系统参数决定了可同时打开的表的数量和要使用的文件描述符,那就是table_open_cache、max_tmp_tables和open_files_limit。
mysql> show variables like 'table_open%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| table_open_cache | 256 |
+------------------+-------+
1 row in set (0.00 sec)
table_open_cache:256,这就是说所有的MySQL线程一共能同时打开256个表,我们可以搜集系统的打开表的数量的历史记录和这个参数来对比,决定是否要增加这个参数的大小。查看当前的打开表的数目(Open tables)可用上边提到过的status命令,另外可以直接查询这个系统变量的值:
mysql> show status like 'open_tables';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 3 |
+---------------+-------+
1 row in set (0.00 sec)
Open_tables就是当前打开表的数目,通过flush tables命令可以关闭当前打开的表。 这个值如果过大,并且如果没有经常的执行flush tables命令,可以考虑增加table_open_cache参数的大小。
接下来看max_tmp_tables:
mysql> show variables like 'max_tmp%';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| max_tmp_tables | 32 |
+----------------+-------+
1 row in set (0.00 sec)
max_tmp_tables:32即单个客户端连接能打开的临时表数目。查看当前已打开的临时表的信息:
mysql> show global status like '%tmp%table%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 0 |
| Created_tmp_tables | 11 |
+-------------------------+-------+
2 rows in set (0.00 sec)
根据这两个值可以判断临时表的创建位置,一般选取BLOB和TEXT列、Group by 和 Distinct语句的数据量超过512 bytes,或者union的时候select某列的数据超过512 bytes的时候,就直接在磁盘上创建临时表了,另外内存中的临时表变大的时候,也可能被MySQL自动转移到磁盘上(由tmp_table_size和max_heap_table_size参数决定)。
增加table_open_cache或max_tmp_tables 参数的大小后,从操作系统的角度看,mysqld进程需要使用的文件描述符的个数就要相应的增加,这个是由open_files_limit参数控制的。
mysql> show variables like 'open_files%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 2670 |
+------------------+-------+
1 row in set (0.00 sec)
但是这个参数是OS*的,所以我们设定的值并不一定总是生效。如果OS*MySQL不能修改这个值,那么置为0。如果是专用的MySQL服务器上,这个值一般要设置的尽量大,就是设为没有报Too many open files错误的最大值,这样就能一劳永逸了。当操作系统无法分配足够的文件描述符的时候,mysqld进程会在错误日志里记录警告信息。
相应的,有两个状态变量记录了当前和历史的文件打开信息:
mysql> show global status like '%open%file%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_files | 0 |
| Opened_files | 76 |
+---------------+-------+
2 rows in set (0.00 sec)
MySQL为每个连接分配线程来处理,可以通过threads_connected参数查看当前分配的线程数量:
mysql> show status like '%thread%';
+------------------------------------------+-------+
| Variable_name | Value |
+------------------------------------------+-------+
| Delayed_insert_threads | 0 |
| Performance_schema_thread_classes_lost | 0 |
| Performance_schema_thread_instances_lost | 0 |
| Slow_launch_threads | 0 |
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 1 |
| Threads_running | 1 |
+------------------------------------------+-------+
8 rows in set (0.00 sec)
比较threads_connected参数和前面提到的max_connections参数,也可以作为目前的系统负载的参照,决定是否需要修改连接数。
查看每个线程的详细信息:mysql>show processlist;对影响系统运行的线程:kill connection|query threadid的命令杀死。
mysql默认最大连接数是多少
在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。
在Windows下常用的有两种方式修改最大连接数。
第一种:命令行修改。
>mysql -uuser -ppassword(命令行登录MySQL)
mysql>show variables like 'max_connections';(查可以看当前的最大连接数)
msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
mysql>exit(推出)
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
第二种:修改配置文件。
这 种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可。但是有一点最难的就是my.ini这个文件在哪找。通常有两种可能,一个是在安装目录下(这是比较理想的情况),另一种是在数据文件的目录下,安装的时候如果没有人为改变目录的话,一般就在C:/ProgramData/MySQL往下的目录下。
与连接数相关的几个参数:
在修改最大连接数的时候会有这样一个疑问—这个值是不是越大越好,或者设置为多大才合适?这个参数的大小要综合很多因素来考虑,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。可以在global或session范围内修改这个参数。连接数的增加会带来很多连锁反应,需要在实际中避免由此引发的负面影响。
首先看一下MySQL的状态:
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.5.15, for Win32 (x86)
Connection id: 1
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.5.15 MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 1 hour 3 min 27 sec
Threads: 12 Questions: 18 Slow queries: 10 Opens: 33 Flush tables: 5 Open tab
les: 34 Queries per second avg: 6.256
--------------
Open tables:34,即当前数据库打开表的数量是34个,注意这个34并不是实际的34个表,因为MySQL是多线程的系统,几个不同的并发连接可能打开同一个表,这就需要为不同的连接session分配独立的内存空间来存储这些信息以避免冲突。因此连接数的增加会导致MySQL需要的文件描述符数目的增加。另外对于MyISAM表,还会建立一个共享的索引文件描述符。
在MySQL数据库层面,有几个系统参数决定了可同时打开的表的数量和要使用的文件描述符,那就是table_open_cache、max_tmp_tables和open_files_limit。
mysql> show variables like 'table_open%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| table_open_cache | 256 |
+------------------+-------+
1 row in set (0.00 sec)
table_open_cache:256,这就是说所有的MySQL线程一共能同时打开256个表,我们可以搜集系统的打开表的数量的历史记录和这个参数来对比,决定是否要增加这个参数的大小。查看当前的打开表的数目(Open tables)可用上边提到过的status命令,另外可以直接查询这个系统变量的值:
mysql> show status like 'open_tables';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 3 |
+---------------+-------+
1 row in set (0.00 sec)
Open_tables就是当前打开表的数目,通过flush tables命令可以关闭当前打开的表。 这个值如果过大,并且如果没有经常的执行flush tables命令,可以考虑增加table_open_cache参数的大小。
接下来看max_tmp_tables:
mysql> show variables like 'max_tmp%';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| max_tmp_tables | 32 |
+----------------+-------+
1 row in set (0.00 sec)
max_tmp_tables:32即单个客户端连接能打开的临时表数目。查看当前已打开的临时表的信息:
mysql> show global status like '%tmp%table%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 0 |
| Created_tmp_tables | 11 |
+-------------------------+-------+
2 rows in set (0.00 sec)
根据这两个值可以判断临时表的创建位置,一般选取BLOB和TEXT列、Group by 和 Distinct语句的数据量超过512 bytes,或者union的时候select某列的数据超过512 bytes的时候,就直接在磁盘上创建临时表了,另外内存中的临时表变大的时候,也可能被MySQL自动转移到磁盘上(由tmp_table_size和max_heap_table_size参数决定)。
增加table_open_cache或max_tmp_tables 参数的大小后,从操作系统的角度看,mysqld进程需要使用的文件描述符的个数就要相应的增加,这个是由open_files_limit参数控制的。
mysql> show variables like 'open_files%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 2670 |
+------------------+-------+
1 row in set (0.00 sec)
但是这个参数是OS*的,所以我们设定的值并不一定总是生效。如果OS*MySQL不能修改这个值,那么置为0。如果是专用的MySQL服务器上,这个值一般要设置的尽量大,就是设为没有报Too many open files错误的最大值,这样就能一劳永逸了。当操作系统无法分配足够的文件描述符的时候,mysqld进程会在错误日志里记录警告信息。
相应的,有两个状态变量记录了当前和历史的文件打开信息:
mysql> show global status like '%open%file%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_files | 0 |
| Opened_files | 76 |
+---------------+-------+
2 rows in set (0.00 sec)
MySQL为每个连接分配线程来处理,可以通过threads_connected参数查看当前分配的线程数量:
mysql> show status like '%thread%';
+------------------------------------------+-------+
| Variable_name | Value |
+------------------------------------------+-------+
| Delayed_insert_threads | 0 |
| Performance_schema_thread_classes_lost | 0 |
| Performance_schema_thread_instances_lost | 0 |
| Slow_launch_threads | 0 |
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 1 |
| Threads_running | 1 |
+------------------------------------------+-------+
8 rows in set (0.00 sec)
比较threads_connected参数和前面提到的max_connections参数,也可以作为目前的系统负载的参照,决定是否需要修改连接数。
查看每个线程的详细信息:mysql>show processlist;对影响系统运行的线程:kill connection|query threadid的命令杀死。
如何测试mysql 最大连接数
show global variables like ‘%connect%‘;+--------------------------+-----------------+| Variable_name | Value |+--------------------------+-----------------+| character_set_connection | utf8 || collation_connection | utf8_general_ci || connect_timeout | 10 || init_connect | || max_connect_errors | 10 || max_connections | 160 || max_user_connections | 0 |+--------------------------+-----------------+7 rows in set (0.00 sec)
2、设置全局变量max_connections为3(基于试验目的,做测试)
mysql> set global max_connections=3;Query OK, 0 rows affected (0.01 sec)
3、查看设置是否生效.max_connections已经设置为3.
mysql> show global variables like ‘%connect%‘;+--------------------------+-----------------+| Variable_name | Value |+--------------------------+-----------------+| character_set_connection | utf8 || collation_connection | utf8_general_ci || connect_timeout | 10 || init_connect | || max_connect_errors | 10 || max_connections | 3 || max_user_connections | 0 |+--------------------------+-----------------+7 rows in set (0.00 sec)
4、退出当前登陆,再次登陆查看是否生效.
mysql> exitByeC:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 3Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> show global variables like ‘%connect%‘;+--------------------------+-----------------+| Variable_name | Value |+--------------------------+-----------------+| character_set_connection | utf8 || collation_connection | utf8_general_ci || connect_timeout | 10 || init_connect | || max_connect_errors | 10 || max_connections | 3 || max_user_connections | 0 |+--------------------------+-----------------+7 rows in set (0.00 sec)
mysql> use arcerzhangdb;Database changedmysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist |+----+------+-----------------+--------------+---------+------+-------+------------------+1 row in set (0.00 sec)
C:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 4Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> use arcerzhangdb;Database changedmysql> show tables;+------------------------+| Tables_in_arcerzhangdb |+------------------------+| inno_tab || t || t_myisam || tablespace_test || tt || ttt |+------------------------+6 rows in set (0.00 sec)mysql> desc t;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id | int(11) | NO | PRI | 0 | || name | varchar(10) | YES | | NULL | |+-------+-------------+------+-----+---------+-------+2 rows in set (0.12 sec)打开第二个窗口
mysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist || 4 | root | localhost:53251 | arcerzhangdb | Sleep | 6 | | NULL |+----+------+-----------------+--------------+---------+------+-------+------------------+2 rows in set (0.00 sec)查看数据库连接
C:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 5Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> use arcerzhangdb;Database changedmysql> select * from tt;+------+------+| id | msg |+------+------+| 1 | a || 2 | b || 3 | c || 4 | d || 5 | e || 1000 | f |+------+------+6 rows in set (0.06 sec)mysql>打开第三个窗口
mysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist || 4 | root | localhost:53251 | arcerzhangdb | Sleep | 43 | | NULL || 5 | root | localhost:53264 | arcerzhangdb | Sleep | 5 | | NULL |+----+------+-----------------+--------------+---------+------+-------+------------------+3 rows in set (0.00 sec)查看数据库连接
C:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 6Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> use arcerzhangdb;Database changedmysql> show tables;+------------------------+| Tables_in_arcerzhangdb |+------------------------+| inno_tab || t || t_myisam || tablespace_test || tt || ttt |+------------------------+6 rows in set (0.00 sec)mysql> select * from ttt;+----+------+| id | msg |+----+------+| 1 | a |+----+------+1 row in set (0.07 sec)mysql>打开第四个窗口
mysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist || 4 | root | localhost:53251 | arcerzhangdb | Sleep | 97 | | NULL || 5 | root | localhost:53264 | arcerzhangdb | Sleep | 59 | | NULL || 6 | root | localhost:53274 | arcerzhangdb | Sleep | 5 | | NULL |+----+------+-----------------+--------------+---------+------+-------+------------------+4 rows in set (0.00 sec)查看数据库连接
Microsoft Windows [版本 10.0.10586](c) 2015 Microsoft Corporation。保留所有权利。C:UsersArcerZhang>mysql -uroot -parcerzhangERROR 1040 (HY000): Too many connectionsC:UsersArcerZhang>打开第五个窗口
第一个连接窗口为初始窗口,或者说叫做监控窗口.
第二个连接窗口应该算是我们设置max_connections=3后第一个真正意义上的连接用户.
第三个连接窗口应该算是我们设置max_connections=3后第二个真正意义上的连接用户.
第四个连接窗口应该算是我们设置max_connections=3后第三个真正意义上的连接用户.
所以当打开第五个窗口的时候,会报如下错误:
C:UsersArcerZhang>mysql -uroot -parcerzhangERROR 1040 (HY000): Too many connections
mysql最大连接数试验
标签:
如何测试mysql 最大连接数
show global variables like ‘%connect%‘;+--------------------------+-----------------+| Variable_name | Value |+--------------------------+-----------------+| character_set_connection | utf8 || collation_connection | utf8_general_ci || connect_timeout | 10 || init_connect | || max_connect_errors | 10 || max_connections | 160 || max_user_connections | 0 |+--------------------------+-----------------+7 rows in set (0.00 sec)
2、设置全局变量max_connections为3(基于试验目的,做测试)
mysql> set global max_connections=3;Query OK, 0 rows affected (0.01 sec)
3、查看设置是否生效.max_connections已经设置为3.
mysql> show global variables like ‘%connect%‘;+--------------------------+-----------------+| Variable_name | Value |+--------------------------+-----------------+| character_set_connection | utf8 || collation_connection | utf8_general_ci || connect_timeout | 10 || init_connect | || max_connect_errors | 10 || max_connections | 3 || max_user_connections | 0 |+--------------------------+-----------------+7 rows in set (0.00 sec)
4、退出当前登陆,再次登陆查看是否生效.
mysql> exitByeC:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 3Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> show global variables like ‘%connect%‘;+--------------------------+-----------------+| Variable_name | Value |+--------------------------+-----------------+| character_set_connection | utf8 || collation_connection | utf8_general_ci || connect_timeout | 10 || init_connect | || max_connect_errors | 10 || max_connections | 3 || max_user_connections | 0 |+--------------------------+-----------------+7 rows in set (0.00 sec)
mysql> use arcerzhangdb;Database changedmysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist |+----+------+-----------------+--------------+---------+------+-------+------------------+1 row in set (0.00 sec)
C:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 4Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> use arcerzhangdb;Database changedmysql> show tables;+------------------------+| Tables_in_arcerzhangdb |+------------------------+| inno_tab || t || t_myisam || tablespace_test || tt || ttt |+------------------------+6 rows in set (0.00 sec)mysql> desc t;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id | int(11) | NO | PRI | 0 | || name | varchar(10) | YES | | NULL | |+-------+-------------+------+-----+---------+-------+2 rows in set (0.12 sec)打开第二个窗口
mysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist || 4 | root | localhost:53251 | arcerzhangdb | Sleep | 6 | | NULL |+----+------+-----------------+--------------+---------+------+-------+------------------+2 rows in set (0.00 sec)查看数据库连接
C:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 5Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> use arcerzhangdb;Database changedmysql> select * from tt;+------+------+| id | msg |+------+------+| 1 | a || 2 | b || 3 | c || 4 | d || 5 | e || 1000 | f |+------+------+6 rows in set (0.06 sec)mysql>打开第三个窗口
mysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist || 4 | root | localhost:53251 | arcerzhangdb | Sleep | 43 | | NULL || 5 | root | localhost:53264 | arcerzhangdb | Sleep | 5 | | NULL |+----+------+-----------------+--------------+---------+------+-------+------------------+3 rows in set (0.00 sec)查看数据库连接
C:UsersArcerZhang>mysql -uroot -parcerzhangWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 6Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.mysql> use arcerzhangdb;Database changedmysql> show tables;+------------------------+| Tables_in_arcerzhangdb |+------------------------+| inno_tab || t || t_myisam || tablespace_test || tt || ttt |+------------------------+6 rows in set (0.00 sec)mysql> select * from ttt;+----+------+| id | msg |+----+------+| 1 | a |+----+------+1 row in set (0.07 sec)mysql>打开第四个窗口
mysql> show processlist;+----+------+-----------------+--------------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+------+-----------------+--------------+---------+------+-------+------------------+| 3 | root | localhost:53232 | arcerzhangdb | Query | 0 | NULL | show processlist || 4 | root | localhost:53251 | arcerzhangdb | Sleep | 97 | | NULL || 5 | root | localhost:53264 | arcerzhangdb | Sleep | 59 | | NULL || 6 | root | localhost:53274 | arcerzhangdb | Sleep | 5 | | NULL |+----+------+-----------------+--------------+---------+------+-------+------------------+4 rows in set (0.00 sec)查看数据库连接
Microsoft Windows [版本 10.0.10586](c) 2015 Microsoft Corporation。保留所有权利。C:UsersArcerZhang>mysql -uroot -parcerzhangERROR 1040 (HY000): Too many connectionsC:UsersArcerZhang>打开第五个窗口
第一个连接窗口为初始窗口,或者说叫做监控窗口.
第二个连接窗口应该算是我们设置max_connections=3后第一个真正意义上的连接用户.
第三个连接窗口应该算是我们设置max_connections=3后第二个真正意义上的连接用户.
第四个连接窗口应该算是我们设置max_connections=3后第三个真正意义上的连接用户.
所以当打开第五个窗口的时候,会报如下错误:
C:UsersArcerZhang>mysql -uroot -parcerzhangERROR 1040 (HY000): Too many connections
mysql最大连接数试验
标签:
如何更改mysql的并发数(最大连接数)
mysql的最大连接数默认是100,
这个数值对于并发连接很多的数据库应用是远远不够的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些。
调节方法为:
1.linux服务器中
:改my.cnf中的值就行了
2.Windows服务器中(我用的):
在文件“my.ini”中找到段
[mysqld],在其中添加一行
max_connections=200###
200可以更改为想设置成的值.
然后重启"mysql"服务。
/mysqladmin所在路径/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
| max_connections | 1000 |
其他需注意的:
在编程时,由于用mysql语句调用数据库时,在每次之执行语句前,会做一个临时的变量用来打开数据库,所以你在使用mysql语句的时候,记得在每次调用完mysql之后就关闭mysql临时变量。
另外对于访问量大的,可以考虑直接写到文本中,根据预测的访问量,先定义假若是100个文件文件名依次为1.
txt,2.
txt
100.
txt。
mysql 如何更新mysql的最大连接数max
mysql的最大连接数可以通过设置max_connections的值来更新,具体操作如下。
1、执行如下命令登录mysql。
mysql -uroot -p2、登录后执行如下sql语句,设置max_connections的值。
set global max_connections=200;3、设置完成,查询一下效果,已经设置成功了。
mysql 如何更新mysql的最大连接数max
mysql的最大连接数可以通过设置max_connections的值来更新,具体操作如下。
1、执行如下命令登录mysql。
mysql -uroot -p2、登录后执行如下sql语句,设置max_connections的值。
set global max_connections=200;3、设置完成,查询一下效果,已经设置成功了。
怎么查看和修改 MySQL 的最大连接数
1、查看最大连接数的代码:
show variables like '%max_connections%';
2、修改最大连接数的代码:
set GLOBAL max_connections = 200;
在命令行中查看和修改 MySQL 的最大连接数,具体代码如下:
>mysql -uuser -ppassword(命令行登录MySQL)
mysql>show variables like 'max_connections';(查可以看当前的最大连接数)
msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
mysql>exit
扩展资料
MySQL的系统特性:
1、使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
2、支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
3、为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。
4、支持多线程,充分利用 CPU 资源。
5、优化的 SQL查询算法,有效地提高查询速度。
6、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
7、提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。
8、提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
9、提供用于管理、检查、优化数据库操作的管理工具。
10、支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
11、支持多种存储引擎。
12、MySQL 是开源的,所以你不需要支付额外的费用。
13、MySQL 使用标准的 SQL数据语言形式。
14、MySQL 对 PHP 有很好的支持,PHP是比较流行的 Web 开发语言。
15、MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。
参考资料:百度百科-mySQL
mysql 如何更新mysql的最大连接数max
修改最大连接数
方法一:修改配置文件。推荐方法一
进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可.
方法二:命令行修改。不推荐方法二
命令行登录MySQL后。设置新的MySQL最大连接数为200:
MySQL> set global max_connections=200。
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。