Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux中查找当前使用的MySQL配置文件的位置_Mysql_Linux - Fatal编程技术网

如何在linux中查找当前使用的MySQL配置文件的位置

如何在linux中查找当前使用的MySQL配置文件的位置,mysql,linux,Mysql,Linux,我如何知道MySQL当前使用的是哪个配置文件?是否有任何命令或东西可以找到它?默认情况下,您应该在文件夹中找到它们,如/etc/my.cnf,可能还取决于版本。发件人: 有趣的是,这个文件的范围 可根据其位置进行设置。 这些设置将被视为全局设置 所有MySQL服务器(如果存储在 /etc/my.cnf。它将是全球性的 特定服务器(如果位于 MySQL数据库所在的目录 存储(/usr/local/mysql/data)用于 二进制安装,或 /源的usr/local/var 安装)。最后,它的范围

我如何知道MySQL当前使用的是哪个配置文件?是否有任何命令或东西可以找到它?

默认情况下,您应该在文件夹中找到它们,如
/etc/my.cnf
,可能还取决于版本。发件人:

有趣的是,这个文件的范围 可根据其位置进行设置。 这些设置将被视为全局设置 所有MySQL服务器(如果存储在 /etc/my.cnf。它将是全球性的 特定服务器(如果位于 MySQL数据库所在的目录 存储(/usr/local/mysql/data)用于 二进制安装,或 /源的usr/local/var 安装)。最后,它的范围 可能仅限于特定用户,如果 位于的主目录中 MySQL用户(~/.my.cnf)。牢记 即使MySQL找到了 my.cnf文件位于/etc/my.cnf(全局到 这台机器上的所有MySQL服务器),它 将继续寻找 特定于服务器的文件,然后是 用户特定文件。你可以想到 最终的配置设置如下所示 作为/etc/my.cnf的结果, mysql数据目录/my.cnf和~/.my.cnf 档案

有几个切换到包管理器以列出特定文件

RPM系统:

有到
rpm
命令的开关,
-q
用于查询,
-c
-configfiles
用于列出配置文件。还有
-l
-list

--configfiles
一个对我来说不起作用,但是
--list
确实列出了一些
.cnf
文件,这些文件由
mysql服务器持有

rpm -q --list mysql-server
DEB系统:


同样成功有限:
dpkg--listfiles mysql server

通过运行

mysql --help

我在我的机器上尝试了以下命令:

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将只找到默认配置文件的位置。如果在同一台服务器上使用2个MySQL实例会怎么样?这没用

关于如何解决这个问题的好文章:


如果您正在使用终端,只需键入以下内容:

locate my.cnf
您可以使用
ps
命令:

ps ax | grep '[m]ysqld'

使用正确的凭证登录mysql并使用mysql>SHOW变量,如'datadir';这将为您提供mysql存储位置的路径

您可以通过运行以下命令找到它

mysql --help

它将为您提供mysql安装目录和mysql的所有命令。

这可能属于serverfault.com+1。另一种方法是“my_print_defaults mysqld”(查找启动时将传递给mysqld的选项)。默认选项可以在标准系统上使用。我在一个高度配置的系统上工作,默认位置不可用。因此,我使用下面的答案使用“locate my.cnf”,它为我提供了文件的确切位置;我有40个使用“locate”的文件,但我仍然不知道哪一个是正确的,假设它存在-有时my.conf不存在。有时人们使用my-server.cnf或hostname.cnf。请共享新链接,因为现在这篇文章已不存在了:(这并不能回答问题。配置的默认位置永远不会是$datadir。
mysql --help