代码之家  ›  专栏  ›  技术社区  ›  yalestar

确定正在使用的配置文件

  •  125
  • yalestar  · 技术社区  · 15 年前

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

    13 回复  |  直到 5 年前
        1
  •  55
  •   user59634    15 年前

    如果您使用的是Linux,那么使用 strace ,例如 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文件,它试图使用并最终使用。

        2
  •  213
  •   Cave Johnson    6 年前

    摘自精彩的“高性能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
    
        3
  •  56
  •   staticsan    15 年前

    如果你跑 mysql --verbose --help | less 它会告诉你11号线的情况 .cnf 它将查找的文件。

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

        4
  •  25
  •   Alexandru Trandafir Catalin    11 年前

    我在Windows上,安装了最新版本的MySQL Community 5.6

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

    “c:/program files/mysql/mysql server 5.6/bin\mysqld”--默认文件:“c:\programdata\mysql\mysql server 5.6\my.ini”mysql56

        5
  •  17
  •   Ratan Sebastian    12 年前

    另一种选择是使用

    mysqladmin variables
    
        6
  •  13
  •   Wodin    5 年前

    mysqld——帮助——冗长是危险的。您可以很容易地覆盖pidfile来运行实例!与--pid file=xyz一起使用

    哦,如果运行了一个以上的实例,就不能真正使用它。它只显示默认值。

    非常好的文章:

    How to find MySQL configuration file?

        7
  •  8
  •   Herta    13 年前

    刚刚在Ubuntu上做了一个快速测试:

    • 安装了mysql服务器,创建了/etc/mysql/my.cnf

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

    110112 13:35:26[注]插件“联邦”已禁用。
    默认选项按给定顺序从以下文件中读取: /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文件选项。如果在那里指定了一个配置文件,则无论返回的是什么,都只使用该文件。 /usr/sbin/mysqld--verbose--help grep-a 1“默认选项”

        8
  •  3
  •   Peter Mortensen John Conde    8 年前

    我觉得这个很有用:

    1. 在下面的服务中查找mysql进程 Control Panel -> Administration Tools
    2. 鼠标右键单击并选择 Properties
    3. 单击并选择 Path to executable 看看它是否包含 my.ini/my.cfg
        9
  •  2
  •   Peter Mortensen John Conde    8 年前

    有些服务器安装并配置了多个MySQL版本。确保处理的是使用Unix运行的正确版本 指挥部:

    ps -ax | grep mysql
    
        10
  •  2
  •   fanThomas    8 年前

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

        11
  •  1
  •   Kershrew    8 年前

    对于运行以MySQL为服务的Windows Server的用户,查找正在运行的配置文件的简单方法是打开“服务”控制面板,找到您的MySQL服务(在我的例子中是“MySQL56”),右键单击并单击“属性”。然后,您可以从这里检查“可执行文件路径”,它应该有一个 defaults-file 切换到配置文件所在的位置。

        12
  •  1
  •   talsibony    7 年前

    以防万一你在跑步 雨衣 这也可以通过以下方式实现:

    sudo dtruss mysqld 2>&1 | grep cnf
    
        13
  •  0
  •   Just a learner    7 年前

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

    enter image description here

    现在正常启动MySQL服务器。procmon将捕获mysql的后台操作。在procmon结果窗格中搜索“my.”,您会发现如下内容:

    enter image description here

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