确定正在使用的MySQL配置文件

时间:2009-02-24 03:12:35

标签: mysql configuration

是否有命令确定MySQL 5.0当前使用的配置文件?

15 个答案:

答案 0 :(得分:226)

取自梦幻般的“高性能MySQL”O'Reilly书:

$ which mysqld
/usr/sbin/mysqld

$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf

答案 1 :(得分:58)

如果您运行mysql --verbose --help | less,它会告诉您第11行它将查找哪些.cnf个文件。

您还可以mysql --print-defaults向您展示它将使用的配置值。这对于识别它正在加载的配置文件也很有用。

答案 2 :(得分:55)

如果您使用的是Linux,请使用strace启动'mysqld',例如 strace ./mysqld

在所有其他系统调用中,您将找到类似的内容:

stat64("/etc/my.cnf", 0xbfa3d7fc)       = -1 ENOENT (No such file or directory)
stat64("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=4227, ...}) = 0
open("/etc/mysql/my.cnf", O_RDONLY|O_LARGEFILE) = 3

所以,正如你所看到的......它列出了它试图使用并最终使用的.cnf文件。

答案 3 :(得分:27)

我在Windows上安装了最新版本的MySQL社区5.6

我做了什么来查看配置文件使用的是转到管理工具>服务> MySQL56>右键单击>属性并检查可执行文件的路径:

“C:/ Program Files / MySQL / MySQL Server 5.6 / bin \ mysqld”--defaults-file =“C:\ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini”MySQL56

答案 4 :(得分:17)

另一种方法是使用

mysqladmin variables

答案 5 :(得分:13)

mysqld --help --verbose很危险。您可以轻松覆盖pidfile以运行实例!与--pid-file = XYZ

一起使用

哦,如果您运行的实例超过1个,则无法真正使用它。它只会显示默认值。

关于它的非常好的文章:

How to find MySQL configuration file?

答案 6 :(得分:8)

刚刚对ubuntu进行了快速测试:

  • 安装了mysql-server,创建了/etc/mysql/my.cnf

  • mysqld --verbose --help | grep -A 1“默认选项”

110112 13:35:26 [注意]插件'FEDERATED'被禁用 以给定顺序从以下文件中读取默认选项: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf~ / .my.cnf

  • 创建/etc/my.cnf和/usr/etc/my.cnf,每个都有不同的端口号

  • 重新启动mysql - 它使用的是/usr/etc/my.cnf中设置的端口号

同时找到了mysqld的--defaults-file选项。如果在那里指定配置文件,则只使用那个配置文件,而不管返回的是什么 / usr / sbin / mysqld --verbose --help | grep -A 1“默认选项”

答案 7 :(得分:3)

我发现这非常有用:

  1. Control Panel -> Administration Tools
  2. 下的服务中查找MySQL流程
  3. 单击鼠标右键,然后选择Properties
  4. 点击并选择Path to executable,看看它是否包含my.ini/my.cfg
  5. 的路径

答案 8 :(得分:2)

某些服务器安装并配置了多个MySQL版本。确保您正在处理使用Unix运行的正确版本 命令:

ps -ax | grep mysql

答案 9 :(得分:2)

使用MySQL Workbench,它将显示在“服务器状态”下: enter image description here

答案 10 :(得分:1)

对于使用mysql作为服务运行Windows服务器的人来说,找到你正在运行的配置文件的一个简单方法是打开服务控制面板,找到你的mysql服务(在我的情况下是'MYSQL56'),右键单击并单击属性。然后从这里你可以检查“可执行路径”,它应该有一个defaults-file开关,指向配置文件的位置。

答案 11 :(得分:1)

如果您正在运行 mac ,也可以通过以下方式实现:

sudo dtruss mysqld 2>&1 | grep cnf

答案 12 :(得分:0)

如果您使用的是Windows,则可以使用Sysinternals procmon。打开它并配置这样的过滤器设置,然后单击“添加”。现在procmon将监控mysqld。

enter image description here

现在正常启动你的mysql服务器。 Procmon将捕获mysql的后台操作。搜索“我的”。在procmon结果窗格中,您将找到类似以下内容的内容:

enter image description here

很明显,mysql依次搜索配置文件列表。在我的情况下,它成功找到C:\mysql-5.7.19-winx64\my.cnf所以它正在使用这个。

答案 13 :(得分:0)

我安装了mysql,使用brew install mysql

mysqld --verbose --help | less

它显示:

enter image description here

答案 14 :(得分:0)

在CentOS和MariaDB上,您可以在以下位置找到MariaDB服务器配置设置: /etc/my.cnf.d/server.cnf