我已经将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
值时,会得到以下信息:
mysql> SHOW GLOBAL VARIABLES LIKE '%table_definition_cache%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| table_definition_cache | 1400 |
+------------------------+-------+
1 row in set (0.05 sec)
我需要把我的my.ini
文件放在哪里,以便数据库在启动时加载它?
发布于 2014-10-29 17:15:17
文件夹C:\Program Files\MySQL\MySQL Server 5.6
是my.ini
的正确位置。
有两个可能的原因是1400显示为表格_定义_缓存。
您没有重新启动mysql。
以管理员身份登录Windows命令行并运行
C:\> net stop mysql
C:\> net start mysql
价值应随后到位。
表格_定义_缓存的默认值是-1 (autosized)
。这使得mysqld为表格_定义_缓存计算出了一个公允的值,考虑到您的操作系统配置。
一定要把
table_definition_cache = 400
在重新启动mysql之前,在[mysqld]
组标题下
我进一步研究了一下,了解了为什么1400年会出现在表格_定义_缓存上
根据表格_定义_缓存的文档
默认值基于以下公式,上限为2000: 400 + (table_open_cache / 2)
The 表的默认值_打开_缓存为2000
应用公式
400 + (table_open_cache / 2) =
400 + (2000 / 2) =
400 + 1000 =
1400
有两件事正在发生
my.ini
中提取my.ini
中获取,但由于需要资源而被拒绝。https://dba.stackexchange.com/questions/81398
复制相似问题