如何在linux中找出当前使用的MySQLconfiguration文件的位置

我怎么知道当前MySQL使用哪个configuration文件? 有没有什么指令或什么东西可以find它?

你想要的信息可以通过运行find

mysql --help 

要么

 mysqld --help --verbose 

我在我的机器上试过这个命令:

 mysql --help | grep "Default options" -A 1 

并打印出来:

 Default options are read from the following files in the given order: /etc/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 

看看这是否适合你。

mysqld –help –verbose将仅查找默认configuration文件的位置。 如果你在同一台服务器上使用2个MySQL实例呢? 这不会有帮助。

关于搞清楚的好文章:

“如何findMySQLconfiguration文件?

如果您正在使用terminal,请input以下内容:

 locate my.cnf 

你应该在/etc/my.cnf这样的文件夹下find它们,也许还要看版本。 从MySQLconfiguration文件 :

有趣的是,这个文件的范围可以根据它的位置来设置。 如果存储在/etc/my.cnf中,这些设置将被认为是全局的MySQL服务器。 如果位于存储MySQL数据库的目录(二进制安装为/ usr / local / mysql / data,或源安装位于/ usr / local / var),则对于特定服务器将是全局的。 最后,如果它位于MySQL用户的主目录(〜/ .my.cnf),它的范围可以限制在一个特定的用户。 请记住,即使MySQL确实在/etc/my.cnf(该机器上的所有MySQL服务器的全局数据库)中find了my.cnf文件,它仍将继续search特定于服务器的文件,然后是用户特定的文件。 您可以将最终configuration设置看作是/etc/my.cnf,mysql-data-dir / my.cnf和〜/ .my.cnf文件的结果。

有几个开关打包pipe理器列出特定的文件。

RPM系统:

有切换到rpm命令, -q查询和-c--configfiles列出configuration文件。 还有-l--list

--configfiles没有为我安静工作,但是 – list没有列出mysql-server保存的几个.cnf文件

 rpm -q --list mysql-server 

DEB系统:

也有限的成功: dpkg --listfiles mysql-server

您可以使用报告进程状态 ps命令:

 ps ax | grep '[m]ysqld' 

用正确的凭证login到mysql并使用mysql> SHOW VARIABLES LIKE'datadir'; 那会给你mysql存储的path