您的位置:首页 > 数据库 > MySQL

再谈mysql的配置文件my.ini or my.cnf (之二)

2010-05-13 05:07 851 查看
如若转载,请尊重个人劳动,务必注明原始出处:(http://blog.csdn.net/iihero/archive/2010/05/13/5585039.aspx)
本文为iihero@CSDN原创。

在前一篇短文里提到了my.ini/cnf的加载顺序:C:/WINDOWS/my.cnf->C:/WINDOWS/my.ini->C:/my.cnf ->C:/my.ini ->$installdir/my.ini。(%MYSQL_HOME%/my.ini)->
--defaults-extra-file=path
,
(linux下,/etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf->
--defaults-extra-file->~/my.cnf


如果这几个位置都找不到相应原配置文件呢。

那么一定是放到某一个位置了,在mysql程序已经起来的情况下,如何搜寻这个所谓的my.ini。

在Linux下,一条ps -ef命令就能找到最终使用的my.cnf的物理位置。

在windows下,你用tasklist命令是找不出来的,只能看到mysqld或者mysql-nt进程名,其命令行参数则找不到。直接查看services.msc也未必好找。

这时候,可以借助于专用工具了。

1. 如果你用过MKS tools之类的类unix命令行工具,ps -ef | grep mysql即可定位
如:
d:/>ps -ef | grep mysql
SYSTEM 1112 764 0 04:56:49 CONIN$ 0:00 D:/mysql-5.0.9-beta-win32/bin/mysqld-nt --defaults-file=D:/mysql-5.0.9-beta-win32/bin/my.ini mysql5

2. 如果没有1所提示的工具,你还可以下载一个WinDbg for windows (这是微软提供的免费超强debug工具),把它的安装路径设置到path里头,然后
运行命令tlist -v | findstr mysql即可。如:
d:/>tlist -v | findstr mysql
0 32 3240 Console.exe Title: Console - findstr mysql
0 32 1112 mysqld-nt.exe Svcs: mysql5
Command Line: D:/mysql-5.0.9-beta-win32/bin/mysqld-nt --defaults-file=D:/mysql-5.0.9-beta-win32/bin/my.ini mysql5
Command Line: findstr mysql

3. 最后,如果你实在不喜欢命令行,那就用图形界面好了,下一个ProcessExplore-NT.zip
http://technet.microsoft.com/en-us/sysinternals --> Process Explorer

运行这个图形界面的进程管理器,




选择view->select columns,然后在process image里头,把Image Path和Command Line选上。

然后你在进程列表里进行搜索,找到mysql-nt.exe,就可以看到它的命令里有完整的参数信息,里头就有指定的my.ini相关信息。

更为简便的方式是:
直接从Find -> Find Handle,然后输入mysql,




这样,选择其中一个结果,关闭此窗口,从Process菜单里的Properties里头就可以看到该进程的完整信息:




全文结束。

最后提示,有人也许想用MingW+Msys或者Cygwin获取进程的详细信息,遗憾,它们只能查询它系统内的进程信息,而找不到Windows系统本身的进程信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: