2012-05-25 322 views

回答

189

This thread on the MySQL forum說:

默認情況下,OS X安裝不使用my.cnf中,和MySQL只使用默認值。要設置你自己的my.cnf,你可以直接在/ etc中創建一個文件。

OS X提供了示例配置文件/usr/local/mysql/support-files/

+0

謝謝!那麼只需在/ usr/etc中?或者我應該在那裏做一些類似的mysql目錄? :) *編輯*找到鏈接上的答案,謝謝! – nicolas

+14

至少目前的Mac OS X的MySQL包(本文寫作時爲mysql-5.6.17-osx10.7-x86_64)_does_實際上是創建並使用my.cnf。它位於/usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf – Jpsy

+0

謝謝@Jpsy - 這非常有幫助。 –

6

您可以打開一個終端輸入locate my.cnf

+0

對不起,我顯然需要將'my-large.cnf'複製到某個文件夾中,並將其重命名爲'my.cnf'。但我不知道在哪裏.. – nicolas

+1

也,你需要有一個填充的定位數據庫。在mac osx上:sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist – arcseldon

28

我不知道你正在使用的MySQL版本,但這裏有my.cnf文件可能的位置在Mac OS X 5.5版本(從here拍攝):

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. defaults-extra-file(與指定的文件,如果有的話)
  6. ~/.my.cnf
11

current MySQL package for Mac OS X Mavericks(MySQL的-5.6.17-osx10.7-x86_64的在撰寫本文時)在安裝期間自動創建的my.cnf。

它位於/usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
根據您的版本調整您的路徑。

59

在Mac OS X小牛的情況下,當通過自制軟件安裝的MySQL它位於/usr/local/opt/mysql/my.cnf

+3

這是/usr/local/Cellar/yourMySqlVersion/my.cnf – m02ph3u5

+0

/usr/local/opt/mariadb/VERSIONNUMBER /在我的情況MariaDB安裝 –

+1

相同優勝美地 –

9

在MySQL 22年6月5日,我安裝了它從家釀,my.cnf文件的路徑是

/usr/local/opt/mysql/my.cnf 
5

所以這些都沒有爲我工作。我正在使用mysql社區服務器的當前dmg安裝。 ps顯示所有通常在my.cnf中最關鍵的參數都是通過命令行傳遞的,而我無法弄清楚是從哪裏來的。做全文搜索我的盒子後,我發現它在:

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

所以,你可以改變他們那裏,或者帶他們出去所以它實際上會尊重你在my.cnf中的位置,無論你決定放在哪裏。

享受!

+0

太棒了!你救了我的一天。 – jenny

16

對於MySQL 5。7 Mac OS X上埃爾卡皮坦:從/usr/local/mysql/support-files/my-default.cnf

+4

只需要清楚,你必須自己創建「etc /」文件夾,並且你需要root權限才能使用「sudo su - 」 – trojan

+0

謝謝@trojan – 2016-09-03 04:01:49

+0

在那個位置找不到我。我正在使用MAMP –

0

對於Mac /usr/local/mysql/etc/my.cnf

複製默認的conf,什麼工作對我來說是我的〜路徑創建一個.my.cnf文件。希望這可以幫助。

27

一般來說,在Unix和類Unix系統中,MySQL/MariaDB的程序讀取在以下位置配置/啓動文件(指定的順序):

  • /etc/my.cnf - 全球
  • /etc/mysql/my.cnf - 全球
  • SYSCONFDIR/my.cnf - 全球

    SYSCONFDIR代表目錄小號在構建MySQL時,將SYSCONFDIR選項與CMake進行了比較。默認情況下,這是位於編譯後的安裝目錄下的etc目錄。

  • $MYSQL_HOME/my.cnf - 服務器特有的(唯一的服務器)

    MYSQL_HOME是包含的路徑,其中所述特定於服務器的my.cnf文件所在的目錄的環境變量。如果沒有設置MYSQL_HOME,並且您使用mysqld_safe程序啓動服務器,mysqld_safe將它設置爲BASEDIR,即MySQL基本安裝目錄。 Using Option Files: - 特定用戶

  • ~/.mylogin.cnf
  • - 用戶特定(僅客戶端)

來源

  • 文件,--defaults-extra-file=path如果任何

  • ~/.my.cnf規定。

    注意:在Unix平臺上,MySQL會忽略世界可寫的配置文件。這是故意作爲安全措施。


    此外在Mac上有一個簡單的方法來檢查它。

    1. 運行:sudo fs_usage | grep my.cnf

      這將關係到該文件的實時報告任何文件系統的活動。

    2. 在另一個終端中,重新啓動MySQL/MariaDB,例如,

      brew services restart mysql 
      

      或:

      brew services restart mariadb 
      
    3. 在具有fs_usage終端,適當的位置應該顯示,例如

      15:52:22 access   /usr/local/Cellar/mariadb/10.1.14/my.cnf           0.000002 sh   
      

      因此,如果該文件不存在,創建一個。

  • +1

    謝謝! 'sudo fs_usage | grep my.cnf'方法相當高效。我在文件夾中找到這個文件:**/usr/local/etc/my.cnf ** – gary

    +0

    好方法,但是我得到了幾個結果: 'private/etc/my.cnf','/ usr/local/etc/my.cnf','/ usr/local/Cellar/mysql//my.cnf','〜.my.cnf'在最右邊的列中帶'my_print_def'。然後過了一會兒,它只有'/ usr/local/etc/my.cnf',我的終端在最右邊一列。 但所有這些'my.cnf'文件都不存在! – Andru

    +0

    @Andru如果它們都不存在,請創建一個新的。 – kenorb

    4

    您可以檢查文件/usr/local/bin/mysql.server並查看my.conf的讀取位置。通常是從/etc/my.cnf中或〜/ my.cnf中

    3

    對於MAMP 3.5的Mac埃爾卡皮坦,創建一個單獨的空的配置文件,寫你的其他設置爲MySQL

    sudo vim /Applications/MAMP/Library/my.cnf 
    

    並添加像這

    [mysqld] 
    max_allowed_packet = 256M 
    
    1

    我在塞拉利昂的MacOS檢查,自制軟件安裝MySql 5.7.12

    支持文件位於

    /usr/local/opt/mysql/support-files 
    

    只需將my-default.cnf複製爲/etc/my.cnf/etc/mysql/my.cnf,然後在重新啓動時拾取配置。

    +3

    我剛剛在12.12.4通過自制軟件安裝了5.7.18,它們不在那裏。 –

    0

    將/usr/local/opt/mysql/support-files/my-default.cnf複製爲/etc/my.cnf或/etc/mysql/my.cnf,然後重新啓動mysql。

    0

    對我來說,在塞拉利昂版本

    在複製默認配置:

    /usr/local/Cellar/mysql/5.6.27/support-files/my-default.cnf

    /usr/local/Cellar/mysql/5.6.27/my.cnf

    0

    在我的情況下,該文件不存在。在MySQL Workbench中,我進入了OPTIONS FILE並找到了一些默認值。我點擊申請。它要求許可。然後在/ etc下創建my.cnf文件。但是,請記住,第一次單擊「應用」時,不要對默認配置進行任何更改,這一點非常重要。文件創建完成後,您可以進行更改,這些更改將在您點擊「應用」時應用。否則,您在進行更改時不會顯示應用按鈕。

    +0

    如何訪問mysql工作臺 –

    +0

    我在'/ etc/mysql/my.cnf'有一個選項文件,但MySQL Workbench沒有意識到它。相反,它會抱怨找不到空路徑的配置文件,然後提供創建一個新文件。 –

    1

    如果您使用MacOS的塞拉利昂和該文件不存在, 運行

    mysql --help or mysql --help | grep my.cnf

    看到可能的位置和裝載/讀取my.cnf中的序列爲MySQL然後創建我的。在建議目錄中的一個CNF文件,然後添加以下行

    [mysqld] sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    您可以sudo touch /{preferred-path}/my.cnf然後編輯該文件由

    sudo nano /{preferred-path}/my.cnf

    添加SQL模式,然後重啓MySQL,voilaah你很好去。快樂編碼