是否有一个MySQL命令来定位my.cnf配置文件,类似于PHP的phpinfo()定位它的PHP .ini?
当前回答
你可以在终端上运行查找。
find / -name my.cnf
其他回答
如果你在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中更改它不起作用。所以无论你想改变什么选择,试着用这种方式来寻找。
你可以在终端上运行查找。
find / -name my.cnf
Ubuntu 16: /etc/mysql/mysql.conf.d/mysqld.cnf
所有很棒的建议,在我的情况下,我没有在任何这些位置找到它,但在/usr/share/mysql,我有一个RHEL虚拟机,我安装了mysql5.5
推荐文章
- 使用sudo时未找到命令
- MySQL删除表中的所有行,并将ID重置为零
- 当有命令行参数时,如何使用GDB分析程序的核心转储文件?
- 在准备语句中使用“like”通配符
- MySQL中的表名是否区分大小写?
- 库未加载:libmysqlclient.16。在OS X 10.6上使用mysql2 gem运行'rails server'时出现dylib错误
- 如何知道MySQL表最近一次更新?
- 在MySQL中的一个查询中更新多个具有不同值的行
- 如何强制从另一个SSH会话分离屏幕?
- 如果表存在则删除表并创建它,如果不存在则创建它
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- MySQL OR与IN性能
- Linux Bash中双&和分号有什么区别?
- 将值从同一表中的一列复制到另一列
- 删除id与其他表不匹配的sql行