是否有一个MySQL命令来定位my.cnf配置文件,类似于PHP的phpinfo()定位它的PHP .ini?
当前回答
另一个选项是使用whereis命令。
例如:my.cnf在哪里
其他回答
在Ubuntu上(直接编辑):
$ sudo nano /etc/mysql.conf.d/mysqld.cnf
仅回答MySQL工作台用户,
请注意,尽管mariadDB从其他答案中列出的各种my.cnf文件加载配置详细信息,但它也可以从其他具有不同名称的文件加载配置详细信息。
这意味着如果您对my.cnf文件中的一个进行了更改,它可能会被另一个具有不同名称的文件覆盖。要使更改生效,您需要在正确的(最后加载的)配置文件中更改它-或者,可能在所有配置文件中更改它。
那么如何找到所有可能加载的配置文件呢?不要寻找my.cnf文件,试着运行:
grep -r datadir /etc/mysql/
这将找到所有提到datadir的地方。在我的例子中,它产生了这样的答案:
/etc/mysql/mariadb.conf.d/50-server.cnf:datadir = /var/lib/mysql
当我编辑该文件(/etc/mysql/mariadb.conf.d/50-server.cnf)来更改datadir的值时,它起作用了,而在my.cnf中更改它不起作用。所以无论你想改变什么选择,试着用这种方式来寻找。
用户也可以执行该命令。
帮助| grep CNF
你可以使用:
locate my.cnf
whereis my.cnf
find . -name my.cnf