mysql5.7优化配置
概述今天主要分享一下关于mysql数据库在配置上的15条建议,仅供参考。Mysql 配置优化建议1、使用 innodb_flush_method=O_DIRECT 来避免写的时候出现双缓冲区。2、避免...
2024.11.13mysql的连接数配置说明
1. max_connectionsmysql整个服务器支持的最大连接数量,超出这个数量的,即所有账号的所有客户端并行连接到MySQL的最大连接数。
连接数超出报错:Too many connections
查看系统配置:
show variables like ‘%max_connection%‘; 或 select @@max_connections;
查看系统使用:(两个作用相同)
show global status like ‘Max_used_connections‘;
show status like ‘max_used_connections‘;
理想配置:Max_used_connections / max_connections * 100% 85%
特别说明:Max_used_connections 是mysql服务器启动到现在,同一时刻并发的最大连接数、不是当前连接数是个比较值;
修改办法:
临时修改: set @@global.max_connections=1000;
2. max_user_connections限制每个mysql用户的session连接数,超出发起连接报错: User xxx already has more than ‘max_user_connections‘ active connections
针对每个用户(主机+用户为单位)。
修改办法:(说明 值为0则不限制)
set @@global.max_user_connections=0;
3. show processlist 和 thread_concurrency 区别show processlist:
show processlist是一个MySQL命令,用于查看当前MySQL服务器上的活动连接以及这些连接正在执行的查询或操作。
它显示了每个连接的ID,用户,主机,数据库,当前执行的查询,状态等信息。
通过查看processlist,可以了解数据库当前的连接情况,有助于监控和优化数据库性能。
thread_concurrency:
thread_concurrency也是一个MySQL系统变量,用于调整MySQL服务器的并发操作。
它控制了MySQL服务器在同一时间可以使用的线程数。在高并发的情况下,
适当调整thread_concurrency值可以提高服务器的处理效率
4. max_connect_errorsmax_connect_errors 限制一个主机连接MySQL服务器的连接不成功的最大错误次数,累计值超过这个值就限制此主机的连接。
这里面的连接不成功是指应用层连接不成功,比如通过telnet方式,握手成功了但是后续没有成功连接到MySQL服务器。
像输错密码这种不会计入这个值。
超出报错: xxx.xx.xx.xx is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts‘
如何清空:以下任意一种
1) 重新启动MySQL服务器;
2) FLUSH HOSTS;
3)SET GLOBAL max_connect_errors = 0;
4)修改 performance_schema.host_cache 这个表里面的值,根据ip和主机名
5. interactive_timeoutinteractive_timeout 参数指定了一个交互连接在没有活动的情况下可以保持打开的最长时间。
这个参数适用于交互式的客户端连接,比如命令行工具或者图形化界面工具
默认情况下,interactive_timeout 的值为 28800 秒(8 小时)。
查看:
SHOW VARIABLES LIKE ‘interactive_timeout‘;
修改:
SET GLOBAL interactive_timeout = 60;
重启生效,修改本session,可以用:SET SESSION interactive_timeout = 600;
6. wait_timeoutwait_timeout 参数指定了非交互式连接没有活动的时间后被自动关闭的时间。
这个参数适用于不需要用户交互的连接,比如应用程序的连接。默认情况下,wait_timeout 的值为 28800 秒(8 小时)。
查看:
SHOW VARIABLES LIKE ‘wait_timeout‘;
修改:
SET GLOBAL wait_timeout = 60;
需要重启才对新session生效,直接修改session的可以用: SET SESSION wait_timeout = 6000;
概述今天主要分享一下关于mysql数据库在配置上的15条建议,仅供参考。Mysql 配置优化建议1、使用 innodb_flush_method=O_DIRECT 来避免写的时候出现双缓冲区。2、避免...
2024.11.13文章目录前言1. 设置数据库的配置文件库1:库22. 进入数据库创建从账号库1:库2:3. 查看生成的binlog日志,记录下来日志名字和起始位置。库1:库2:4. 进入数据库进行从读设置,指定要读的...
2024.11.15一、为什么使用数据源和连接池应用程序需要频繁的连接数据库的,如果每次操作都连接数据库,然后关闭,这样做性能一定会受限。所以,一定要想办法复用数据库的连接。使用连接池可以达到复用数据库连接的目的。二、连...
2024.11.15这两天接手一个项目,数据库是mysql,然后服务大概六七个。服务启动的时候提示数据库连接不上,就是数据包收不到。开是排查原因:server检查mysql服务,登录服务器,发现服务没挂;从服务器直接执行...
2024.11.12连接MySQL的URL通用格式:protocol//[hosts][/database][?properties]URL中的任何保留字符(例如: /,:,@,(,),[,],&,#,=?,和空格)必须...
2024.11.15