【MySQL】基本命令

mysql命令:

(navicat的工具中打开命令行界面操作)

 # 查看mysql版本

SELECT VERSION();

# 查看所有连接

show processlist;

# 查看连接的详细信息:

show full processlist;

# 查看mysql服务器当前设置的最大连接数:

show variables like '%max_connections%';

# 设置最大连接数为1000(可以再次查看是否设置成功)

set global max_connections=1000;


# 查看当前实际最大使用连接数:

 show global status like 'Max_used_connections';

# 非交互式连接保持的最大时间,单位是s(秒),超过该时间该连接就会被清除

 set global interactive_timeout=100;

# 查看线程:

show status like  'Threads%'

连接数配置:

登录MySQL或使用第三方工具连接MySQL后,

使用如下命令,查看mysql服务器设置的最大连接数:

show variables like '%max_connections%';

该连接数可在mysql的主配置文件/etc/my.cnf中修改,在/etc/my.cnf文件中[mysqld]部分增加max_connections=1000,重置连接数,重启mysql服务。

Mysql5.5 mysql5.6 mysql5.7:默认的最大连接数都是151,上限为:100000(十万)。

连接数超出阈值:

连接数达到设定最大值后会有机制允许超出个别新的连接,但是有阈值,超出这个阈值就会报错。

        如mysql设置最大连接数为500,当a服务使用数据库连接池占用300个连接的时候,b服务的数据库连接池在配置201个连接并启动,此时b服务可能并不会出连接数超出的异常。但是如果b服务的数据库连接池申请300个连接的话就很有可能报连接数超出的异常。

Mysql 怎么设置才合理

show status like 'Threads%';
Variable_name      Value
Threads_cached       0       ##mysql管理的线程池中还有多少可以被复用的资源
Threads_connected    152     ##打开的连接数
Threads_created      550     ##表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,查询服务器
Threads_running      1       ##激活的连接数,这个数值一般远低于connected数值,准确的来说,Threads_running是代表当前并发数

show variables like 'thread_cache_size'; 
set global thread_cache_size=60;


MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。  

我们经常会遇见“MySQL: ERROR 1040: Too many connections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,

另外一种情况是MySQL配 置文件中max_connections值过小:   

mysql> show variables like 'max_connections';

+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| max_connections | 256 | +

-----------------+-------+   

这台MySQL服务器最大连接数是256,然后查询一下服务器响应的最大连接数:   

mysql> show global status like 'Max_used_connections';   

MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:   Max_used_connections / max_connections * 100% ≈ 85%   

最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。

----------------------------------------------------------------------------------------------------

https://cloud.tencent.com/developer/article/1081708

如果遇见“MySQL:ERROR 1040:Too manyconnec-tions”的情况

一种情况是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力了

另外一种情况是MySQL配置文件中max_connections的值过小

来看一个例子:

(1)查看下MySQL配置的最大连接数

mysql> show variables like 'max_connections';

这台MySQL服务器的最大连接数是100

(2)查询一下该服务器曾经响应过的最大连接数:

mysql> show global status like 'Max_used_connections';

实际中出现过的最大连接数是68,没有达到上限100,应该不会出现1040错误

连接数理想的设置是:

Max_used_connections / max_connections * 100% ≈ 85%

即最大连接数占上限连接数的85%左右

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值