my.ini的位置到底哪个是真的?为什么根目录下有,数据目录下也有?

finemi 2015-02-05 04:58:37
装好mysql5.6之后,默认根目录下是没有my.ini的。只有一个my-default.ini文件,里面只有一些注释说明,没有任何配置。
而默认的数据目录C:\ProgramData\MySQL\MySQL56下,有一个my.ini文件,并且里面有大部分的配置信息。
书上、网络上都说my.ini应该在mysql的根目录,我也确实照样复制了my-default.ini一份改名为my.ini在根目录内,
这就是一个奇怪的现象。
两份配置文件,1.根目录下空配置内容的my.ini 2数据目录下完善的my.ini 。问题是:
1.修改根目录下的my.ini,配置了默认字符集(character-set-server),然后控制台\s查看生效,那么证明是以这个为准
2.删除数据目录下的my.ini,服务启动不了。
3.删除根目录下可以生效的my.ini,服务正常启动不影响

这不就矛盾么?问一下mysql的配置文件基址到底怎么回事(workbeach软件里面看配置文件应该是根目录下的)
...全文
25284 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43511474 2018-10-25
  • 打赏
  • 举报
回复
你进去四楼那个图的位置,系统服务列表,属性。看看那个可执行文件文件后面没显示完的地方就明白了。系统通过执行bin下面的mysqld启动服务,启动的同时读取数据目录下的my.ini。然后就是先后和覆盖的问题你该明白撒。
另外对于上面说的压缩版比安装版可控,我感觉区别就只有安装版直接把作为了在系统服务,然后在path变量里添加了bin目录而已
tqmalldba 2015-02-25
  • 打赏
  • 举报
回复
多个my.ini的话,相同参数会被覆盖的,以最后一个加载的my.ini为准把
zhu19774279 2015-02-10
  • 打赏
  • 举报
回复
你的MySQL是安装版还是解压版?用的什么方式启动?
如果是安装版,且使用的Windows服务启动,那么你看看这个服务项(如下截图),是不是已经有--defaults-file参数,如果这个参数已经有,并且指向位置的文件不存在,就会出现启动失败的情况。
likfeng 2015-02-10
  • 打赏
  • 举报
回复
引用 4 楼 zhu19774279 的回复:
你的MySQL是安装版还是解压版?用的什么方式启动? 如果是安装版,且使用的Windows服务启动,那么你看看这个服务项(如下截图),是不是已经有--defaults-file参数,如果这个参数已经有,并且指向位置的文件不存在,就会出现启动失败的情况。
++ 其实最好用免安装版,一切皆可控
九月茅桃 2015-02-10
  • 打赏
  • 举报
回复
查看启动mysql的命令
ACMAIN_CHM 2015-02-06
  • 打赏
  • 举报
回复
检查一下启动参数,在MYSQL启动参数中可以直接指定文件名称和位置。
zhu19774279 2015-02-06
  • 打赏
  • 举报
回复
配置文件可以放置的位置很多,相互之间有先后顺序,有最高优先读取权的应该是%PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini 其他位置具体请参阅官方文档的第一个表格 http://dev.mysql.com/doc/refman/5.6/en/option-files.html
pony520 2015-02-05
  • 打赏
  • 举报
回复
正常是my.ini 这个文件

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧