是否有確定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