如何设置合理的mysql的参数

为了设置合理的MySQL参数,需要根据实际情况和使用场景来进行调整。通常而言,你应该关注以下几个方面:连接数量: 在MySQL中有一个max_connections参数,用于限制MySQL服务器能够同时支持的客户端连接数。数据库缓存: MySQL有一个query_cache参数,用于设置查询结果的缓存大小,以便加快对相同SQL语句的多次执行。
如何设置合理的mysql的参数
为了设置合理的MySQL参数,需要根据实际情况和使用场景来进行调整。通常而言,你应该关注以下几个方面:
连接数量: 在MySQL中有一个max_connections参数,用于限制MySQL服务器能够同时支持的客户端连接数。
数据库缓存: MySQL有一个query_cache参数,用于设置查询结果的缓存大小,以便加快对相同SQL语句的多次执行。
数据库日志: MySQL有一个log_error参数,用于设置日志文件的位置和大小,以便更好地监控MySQL的运行情况。

NineData是一款非常有特色的数据库SQL开发产品,对MySQL常用功能支持非常完整,包括智能的SQL补全、SQL执行历史、结果集编辑、数据对比、结构对比、数据迁移与复制等。它采用SaaS架构模式,用户不仅可以免费使用,而且无需下载安装,上手比较简单。NineData产品更新迭代比较敏捷,对于开发者的新需求响应比较迅速。另外,该产品在多云适配上是其重要的强项,支持多种连接和访问云数据库的方式,对阿里云、腾讯云、华为云、AWS等都有比较好的支持。另外,也适配国内比较流行的PolarDB、GaussDB、TDSQL等数据库。
对于新用户NineData还会赠送两个示例数据库,供用户使用。另外,NineData还提供了企业级SQL开发能力,支持多用户管理、数据库访问权限控制、变更流程、SQL规范、SQL与操作审计等内容,可以较好的解决企业内多人协作访问数据库的问题。
2023-02-23
非root用户运行MySQL,当MySQL配置比较高时,MySQL运行中生效的参数值与配置的值不一样,所以具体分析一下MySQL是怎么调整这些参数值的。 这篇文章的目的是为了说明在系统资源不够的情况下,MySQL 是怎么调整者三个参数的。说明此文涉及到三个参数open_files_limit、 max_connections、 table_open_cache。与这三个参数相关的系统资源是打开文件数限制,即文件描述符(fd)限制。系统参数与文件描述符的关系 - max_connection & fd : 每一个MySQL connection 都需要一个文件描述符;- table_open_cache & fd 打开一张表至少需要一个 文件描述符,如打开MyISAM需要两个fd ;- 系统最大打开文件数可以通过 ulimit -n查看。MySQL调整参数的方式
根据配置(三个参数的配置值或默认值)计算 request_open_files(需要的文件描述符);
2.获取有效的系统的限制值effective_open_files; 3.根据effective_open_files调整request_open_files; 4.根据调整后的request_open_files,计算实际生效的参数值(show variables 可查看参数值)。计算request_open_filesrequest_open_files有三个计算公式:1. // 最大连接数+同时打开的表的最大数量+其他(各种日志等等)2. limit_1= max_connections+table_cache_size * 2 + 10;3. 4. //假设平均每个连接打开的表的数量(2-4)5. //源码中是这么写的:6. //We are trying to allocate no less than 7. // max_connections*5 file handles8. limit_2= max_connections * 5;9. 10. //mysql 默认的默认是500011. limit_3= open_files_limit ? open_files_limit : 5000;12. 13. 所以open_files_limit期待的最低14. request_open_files= max(limit_1,limit_2,limit_3);计算effective_open_files:MySQL 的思路:
在有限值的的范围内MySQL 尽量将effective_open_files的值设大。
修正request_open_files
requested_open_files= min(effective_open_files, request_open_files)
重新计算参数值
修正open_files_limit
open_files_limit = effective_open_files
修正max_connections
max_connections 根据 request_open_files 来做修正。1. limit = requested_open_files - 10 - TABLE_OPEN_CACHE_MIN * 2;
如果配置的max_connections值大于limit,则将max_connections 的值修正为limit
其他情况下 max_connections 保留配置值
修正table_cache_size
table_cache_size 会根据 request_open_files 来做修正1. // mysql table_cache_size 最小值,4002. limit1 = TABLE_OPEN_CACHE_MIN3. // 根据 requested_open_files 计算4. limit2 = (requested_open_files - 10 - max_connections) / 25. limit = max(limit1,limt2);
如果配置的table_cache_size 值大于limit,则将 table_cache_size 的值修正为limit
其他情况下table_cache_size 保留配置值
举例
以下用例在非 root 用户下运行
参数设置:
//mysql
max_connections = 500
table_open_cache = 999
//ulimit -n
1500
生效的值:
open_files_limit = 1500 max_connections = min[(1500 - 10 - 800),500] = 500
table_open_cache = ( 1500 - 10 - 500) / 2 =495
2020-06-29
mengvlog 阅读 53 次 更新于 2025-10-29 03:10:56 我来答关注问题0
  • 1.在命令行中设置参数值时,只能以字节形式输入,不支持使用M或G作为单位。2.更改后需退出当前会话重新连接MySQL,才能查看到修改后的值。该更改仅在当前会话有效,重启MySQL服务后会恢复默认值。3.max_allowed_packet参数的最大值为1G(1073741824字节)。即使设置超过此值,实际生效的参数值仍为1G。最终...

  •  打拼生活日记本 mysql内存池修改read_only参数

    解释:1. 登录数据库:通过合适的客户端工具,使用正确的用户名和密码登录到MySQL服务器。这是后续操作的基础。2. 使用SET GLOBAL语句:该语句用于设置全局变量。read_only参数就是一个全局变量,通过修改它的值可以改变数据库的读写模式。3. 值的选择:当设置为0时,数据库允许进行读写操作,内存池会...

  •  宜美生活妙招 高性能mysql优化一之配置篇

    四、其他重要参数 innodb_log_file_size 优化建议:redo日志的大小。一开始就把innodb_log_file_size设置成512M(这样有1GB的redo日志)会使你有充裕的写操作空间。如果知道应用程序需要频繁的写入数据并且使用的是MySQL 5.6或更高版本,可以将其设置为更大的值(如4G)。log_bin 优化建议:如果想让...

  • 为了设置合理的MySQL参数,需要根据实际情况和使用场景来进行调整。通常而言,你应该关注以下几个方面:连接数量: 在MySQL中有一个max_connections参数,用于限制MySQL服务器能够同时支持的客户端连接数。数据库缓存: MySQL有一个query_cache参数,用于设置查询结果的缓存大小,以便加快对相同SQL语句的多次执行。

  •  深空见闻 mysql容器 参数

    连接相关参数:max_connections:建议值范围为500-2000,根据应用需求设置。该参数表示MySQL服务器允许的最大并发连接数。thread_cache_size:建议值范围为50-100。该参数用于缓存空闲线程数量,以减少线程创建销毁的开销。wait_timeout和interactive_timeout:建议值通常为300秒(5分钟)。这两个参数分别设置...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部