是否有确定MySQL 5.0当前使用的配置文件的命令?确定正在使用哪个配置文件
回答
如果您使用的是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
所以,你可以see..it列出了.CNF文件,它会尝试使用和最终用途。
如果您运行mysql --verbose --help | less
它会告诉您有关第11行,其中.cnf
文件它将查找。
你也可以做mysql --print-defaults
向你展示它将如何使用它的配置值。这对于识别它正在加载的配置文件也很有用。
+1因为这是mysql推荐的方式,对于Windows来说,一个简单的方法是将输出转储到文件中,如果你喜欢分析内容 – kta 2013-12-13 11:24:15
在windows ,它告诉我的位置的列表,但不正确的,这不是我设法找到与MySQL工作台(http://stackoverflow.com/a/17953456/1504300)。 – reallynice 2015-02-03 08:23:30
从梦幻般的 “高性能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
只是做了一个快速测试在Ubuntu:
安装的MySQL服务器,它创建的/ etc/mysql/my.cnf
mysqld --verbose --help | grep -A 1“Default options”
110112 13:35:26 [Note]插件'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“默认选项”
mysqld --help --verbose是危险的。您可以轻松地覆盖运行实例的pidfile!使用它与--pid-file = XYZ
哦,如果你有超过1个实例运行,你不能真正使用它。它只会显示你的默认值。
它真正的好文章:
另一种方法是使用
mysqladmin variables
某些服务器已安装并配置了多个版本的MySQL。请确保您正在处理正确版本的Unix的 命令运行:
ps -ax | grep mysql
我在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
我发现这真的有用:
- 查找服务下
Control Panel -> Administration Tools
- 右击鼠标,MySQL的过程中,选择
Properties
- 单击并选择
Path to executable
,看看它是否包含路径my.ini/my.cfg
对于运行带有mysql作为服务的windows服务器的人来说,找到正在运行的配置文件的一个简单方法是打开服务控制ol面板,找到你的mysql服务(在我的情况下'MYSQL56'),右键单击并单击属性。然后从这里你可以检查“Path to Executable”,它应该有一个defaults-file
开关,它指向你的配置文件的位置。
万一你正在运行MAC这也可以通过实现:
sudo dtruss mysqld 2>&1 | grep cnf
如果您在Windows,你可以使用Sysinternals procmon。打开它并像这样配置过滤器设置,然后点击“添加”。现在procmon将监控mysqld。
现在开始你的MySQL服务器正常。 Procmon将捕获mysql的后台操作。搜索“我的”。在将procmon结果窗格中,你会发现类似如下:
很明显,MySQL的搜索配置文件依次列表。在我的情况下,它发现C:\mysql-5.7.19-winx64\my.cnf
成功,所以它使用这一个。
- 1. 哪个配置文件正在使用?
- 2. 如何确定正在使用哪个C#设置文件
- 3. 有没有办法确定MySQL正在使用哪个配置文件?
- 4. 确定一个设置来自哪个配置文件?
- 5. Windows CMD:确定哪个应用程序正在使用文件
- 6. 春天配置文件的正确位置在哪里?
- 7. 如何确定mongodb正在使用哪个conf文件?
- 8. log4j:使用哪个配置文件?
- 9. Logback使用哪个配置文件?
- 10. 确定您正在使用哪个rubygem
- 11. 确定使用哪个.jar文件
- 12. 确定进程正在使用哪个网络适配器
- 13. 如何确定哪个父配置文件锁定了web.config设置?
- 14. 如何确定哪些功能正在使用哪个头?
- 15. 确定FileHandler正在使用的文件
- 16. Log4j2即使配置正确也不能使用json配置文件
- 17. 确定正在使用哪个浏览器,使用javascript
- 18. 正确使用Windows用户配置文件目录
- 19. spring配置文件和web.xml的确切位置在哪里?
- 20. 如何确定Eclipse运行配置需要哪些源文件
- 21. 如何确定哪个程序在VB 2005中使用文件?
- 22. 配置文件格式不正确XML
- 23. 不正确配置的静态文件
- 24. 确定使用哪个类
- 25. 如何确定哪个用户控件正在调用命令
- 26. 如何确定我的计算机正在使用哪个网络适配器?
- 27. 使用ConfigurationSection从配置文件正确读取的帮助
- 28. 如何正确使用CI商户库的配置文件
- 29. 正确的方式来使用配置文件?
- 30. 正确使用配置文件中的Environ库
如何在运行系统上做到这一点而不会搞乱任何东西? – 2010-05-11 18:08:32
@MilanBabuškov你应该运行`ps auxf`并找到为MySQL执行的命令。通常,它看起来像一些诸如'的mysqld --basedir =在/ usr /本地/ MySQL的`(注意...只是意味着有可能在该命令的更多的标志,但我不会列出所有的话)一旦你找到它,复制整个事情,然后关闭MySQL。如果你在Linux上,它是`/etc/init.d/mysqld stop`或`mysqladmin -u root -p shutdown`。然后用你复制的mysql命令运行`strace`。因此,它看起来像这样:`strace的的mysqld --basedir =在/ usr /本地/ mysql` – Hengjie 2012-11-24 18:08:15
我没有'开(...`行,而不是我有4行以`结束= -1错误#2`你怎么我现在该文件被加载知道 – mgPePe 2014-03-17 15:36:43