Mysql
MySQL 5.6 OS X 10.8:如何判斷 my.cnf 是否讀取?
通過
mysqld
執行,我希望看到/etc/my.cnf
至少有一個命令使用了它ps aux | grep mysql | grep -v grep mysqladmin variables | grep defaults-file
顯示 的值
--defaults-file
。但我沒有看到這樣的項目。為什麼不?我認為
/etc/my.cnf
正在閱讀,因為如果我在其[mysqld]
部分中輸入了錯誤條目,例如,error = true
當我嘗試啟動它時,它會以一條消息mysqld
中止。ERROR
我通過
mysql-5.6.10-osx10.7-x86_64.pkg
從執行來使用安裝mysql-5.6.10-osx10.7-x86_64.dmg
。
每當啟動 mysqld 時,它都會嘗試定位和讀取四個預設位置
my.cnf
如果您執行以下命令:
mysqld --help --verbose | head -20 > junk.txt cat junk.txt
你會看到這個:
mysqld Ver 5.6.10 for Linux on x86_64 (MySQL Community Server (GPL)) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Starts the MySQL database server. Usage: mysqld [OPTIONS] Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf The following groups are read: mysqld server mysqld-5.6 The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file, except for login file. --defaults-file=# Only read default options from the given file #.
注意上面寫著的那一行:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
這些是讀取的四個文件(如果存在)。
以上顯示來自 Linux Box。所以,請跑
mysqld --help --verbose | head -20 > junk.txt cat junk.txt
並查看回顯的位置。
更新 2013-03-17 22:35 EDT
您看不到該
--defaults-file
選項不可見的原因很簡單:由於my.cnf
存在一個或多個預設文件,mysqld_safe
因此不會在命令行上顯示它。請注意以下事項:
mysqld
使用四個預設值- 您不能
--defaults-file
為 mysqld 設置。這就是**mysqld_safe
**- **
mysqld_safe
**需要明確指定它才能在作業系統中可見執行
SHOW GLOBAL VARIABLES;
不會顯示任何預設文件mysql> show global variables like '%def%'; +------------------------+--------+ | Variable_name | Value | +------------------------+--------+ | default_storage_engine | InnoDB | | default_week_format | 0 | | table_definition_cache | 400 | +------------------------+--------+ 3 rows in set (0.00 sec) mysql>