首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows上放置5.6.21 my.ini社区服务器的MySQL文件

在Windows上放置5.6.21 my.ini社区服务器的MySQL文件
EN

Database Administration用户
提问于 2014-10-29 15:41:02
回答 1查看 5.5K关注 0票数 1

我已经将C:\Program Files\MySQL\MySQL Server 5.6\my-default.ini复制到C:\Program Files\MySQL\MySQL Server 5.6\my.ini,并更改了一些设置,包括设置table_definition_cache=400。当我登录到数据库并查看table_definition_cache值时,会得到以下信息:

代码语言:javascript
运行
复制
mysql> SHOW GLOBAL VARIABLES LIKE '%table_definition_cache%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| table_definition_cache | 1400  |
+------------------------+-------+
1 row in set (0.05 sec)

我需要把我的my.ini文件放在哪里,以便数据库在启动时加载它?

EN

回答 1

Database Administration用户

发布于 2014-10-29 17:15:17

文件夹C:\Program Files\MySQL\MySQL Server 5.6my.ini的正确位置。

有两个可能的原因是1400显示为表格_定义_缓存

原因#1

您没有重新启动mysql。

以管理员身份登录Windows命令行并运行

代码语言:javascript
运行
复制
C:\> net stop mysql
C:\> net start mysql

价值应随后到位。

原因#2

表格_定义_缓存的默认值是-1 (autosized)。这使得mysqld为表格_定义_缓存计算出了一个公允的值,考虑到您的操作系统配置。

警告

一定要把

代码语言:javascript
运行
复制
table_definition_cache = 400

在重新启动mysql之前,在[mysqld]组标题下

试试看!

我进一步研究了一下,了解了为什么1400年会出现在表格_定义_缓存

根据表格_定义_缓存的文档

默认值基于以下公式,上限为2000: 400 + (table_open_cache / 2)

The 表的默认值_打开_缓存为2000

应用公式

代码语言:javascript
运行
复制
400 + (table_open_cache / 2) =
400 + (2000 / 2) =
400 + 1000 =
1400

有两件事正在发生

  • 表格_定义_缓存仍未从my.ini中提取
  • 表格_定义_缓存正在从my.ini中获取,但由于需要资源而被拒绝。
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/81398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档