是否有一个MySQL命令来定位my.cnf配置文件,类似于PHP的phpinfo()定位它的PHP .ini?
当前回答
用户也可以执行该命令。
帮助| grep CNF
其他回答
对我来说,这是我有“ENGINE=MyISAM”类型的表,一旦我改变它为“ENGINE=InnoDB”它工作了:) 在PhpMyAdmin在Azure应用程序服务:)
如果你在VPS中,并试图在已经运行的服务器上编辑my.cnf,你可以尝试:
ps aux | grep mysql
您将显示mysql命令正在运行的参数以及——defaults-file指向的位置
请注意,您的服务器可能运行多个MySQL/MariaDB服务器。如果您看到一行没有——defaults-file参数,该实例可能正在从mysqladmin上提到的.cnf中检索配置——帮助其他人指出。
请注意,尽管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中更改它不起作用。所以无论你想改变什么选择,试着用这种方式来寻找。
我安装xampp bundle与apache, php和mysql在ubuntu。my.cnf文件位于/opt/lampp/etc/文件夹中。希望它能帮助到一些人。
mysql --help | grep /my.cnf | xargs ls
会告诉你my.cnf在Mac/Linux上的位置吗
ls: cannot access '/etc/my.cnf': No such file or directory
ls: cannot access '~/.my.cnf': No such file or directory
/etc/mysql/my.cnf
在本例中,它在/etc/mysql/my.cnf中
ls: /etc/my.cnf: No such file or directory
ls: /etc/mysql/my.cnf: No such file or directory
ls: ~/.my.cnf: No such file or directory
/usr/local/etc/my.cnf
在本例中,它位于/usr/local/etc/my.cnf