2012-05-25 10 views

Odpowiedz

189

This thread on the MySQL forum mówi:

Domyślnie instalacja OS X nie korzysta z my.cnf i MySQL po prostu używa wartości domyślnych. Aby skonfigurować własny plik my.cnf, możesz po prostu utworzyć plik bezpośrednio w/etc.

OS X zawiera przykładowe pliki konfiguracyjne pod numerem /usr/local/mysql/support-files/.

+0

Dzięki! Więc po prostu w/usr/etc? Czy powinienem stworzyć tam jakiś katalog mysql? :) * edit * Znalazłem odpowiedź na to łącze, dzięki! – nicolas

+14

Przynajmniej obecny pakiet MySQL dla Mac OS X (mysql-5.6.17-osx10.7-x86_64 w momencie pisania tego tekstu) _ w rzeczywistości tworzy i używa pliku my.cnf. Znajduje się pod adresem /usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf – Jpsy

+0

Dzięki @Jpsy - to było bardzo pomocne. –

6

Można otworzyć terminal i wpisać locate my.cnf

+0

Przykro mi, że nie jestem wystarczająco dokładny, najwyraźniej muszę skopiować "my-large.cnf" do jakiegoś folderu i zmienić jego nazwę na "my.cnf". Ale nie wiem, gdzie ... – nicolas

+1

również, musisz mieć zapełnione db lokalizacji. na Mac OSX: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist – arcseldon

28

nie wiem, która wersja MySQL używasz, ale tutaj są możliwe lokalizacje pliku my.cnf dla wersji 5.5 (wzięte z here) na Mac OS X:

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. defaults-extra-file (plik określony z --defaults-extra-file=path, jeśli w ogóle)
  6. ~/.my.cnf
11

current MySQL package for Mac OS X Mavericks (mysql-06.05.17-osx10.7-x86_64 w chwili pisania tego tekstu) automatycznie tworzy my.cnf podczas instalacji.

Znajduje się pod adresem /usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf Dostosuj swoją ścieżkę zgodnie z wersją.

59

W przypadku systemu Mac OS X Maverick gdy jest zainstalowany MySQL poprzez Homebrew to znajduje się w /usr/local/opt/mysql/my.cnf

+3

która jest /usr/local/Cellar/yourMySqlVersion/my.cnf – m02ph3u5

+0

/usr/local/opt/mariadb/VERSIONNUMBER/w moim przypadku MariaDB jest zainstalowany –

+1

samo dla yosemite –

9

w MySQL 5.6.22, którą zainstalowano go z Homebrew, ścieżka my.cnf jest

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

Więc żadna z tych rzeczy nie zadziałała dla mnie. Używam aktualnej instalacji dmg serwera społeczności mysql. ps pokazuje, że wszystkie najbardziej krytyczne parametry normalnie w my.cnf są przekazywane w wierszu poleceń i nie mogłem domyślić się, skąd to pochodzi. Po wykonaniu pełnego przeszukiwania tekstu mojej skrzynce znalazłam go w:

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

Więc można albo zmienić je tam, lub wziąć je więc będzie szanował te, które masz w swoim my.cnf, gdziekolwiek zdecydujesz się je umieścić.

Ciesz się!

+0

świetnie! uratowałeś mój dzień. – jenny

16

Dla MySQL 5.7 na Mac OS X El Capitan: /usr/local/mysql/etc/my.cnf

domyślnej kopii conf z /usr/local/mysql/support-files/my-default.cnf

+4

Dla jasności, musisz sam utworzyć folder "etc /" i potrzebujesz uprawnień roota dla tego "sudo su -" – trojan

+0

Dziękuję @trojan –

+0

Nie znalazłem w tym miejscu dla mnie. Używam MAMP –

0

dla Mac, co pracował dla mnie jest stworzenie .my.cnf plik w moim ~ ścieżce. Mam nadzieję że to pomoże.

27

Generalnie w systemach Unix i uniksowych, programy MySQL/MariaDB odczytać config/pliki startowe w następujących lokalizacjach (w podanej kolejności):

  • /etc/my.cnf - Global
  • /etc/mysql/my.cnf - Global
  • SYSCONFDIR/my.cnf - Global

    SYSCONFDIR reprezentuje katalog s pecified z opcją SYSCONFDIR do CMake, gdy został zbudowany MySQL. Domyślnie jest to katalog etc umieszczony pod skompilowanym katalogiem instalacyjnym.

  • $MYSQL_HOME/my.cnf - Serwer specyficznych (tylko serwer)

    MYSQL_HOME jest zmienna zawierająca ścieżkę do katalogu, w którym znajduje się serwer plików my.cnf specyficzne. Jeśli ustawienie MYSQL_HOME nie jest ustawione i serwer jest uruchamiany za pomocą programu mysqld_safe, ustawia go na BASEDIR, katalog instalacyjny bazy MySQL.

  • Plik podany --defaults-extra-file=path ewentualnymi

  • ~/.my.cnf - User specyficzne
  • ~/.mylogin.cnf - specyficzne dla użytkownika (tylko dla klientów)

Źródło: Using Option Files.

Uwaga: Na platformach Unix MySQL ignoruje pliki konfiguracyjne, które można zapisywać na całym świecie. Jest to zamierzone jako środek bezpieczeństwa.


Dodatkowo na Mac jest prosty sposób, aby to sprawdzić.

  1. Run: sudo fs_usage | grep my.cnf

    To będzie raportować wszelkie działania systemu plików w czasie rzeczywistym związane z tym plikiem.

  2. W innym terminalu uruchom ponownie MySQL/MariaDB, np.

    brew services restart mysql 
    

    czyli

    brew services restart mariadb 
    
  3. na terminalu fs_usage, właściwego położenia należy wykazać, np

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

    Jeśli więc plik nie istnieje, utwórz go.

+1

Dzięki! "sudo fs_usage | Metoda grep my.cnf' jest dość wydajna. Znajduję ten plik w folderze: **/usr/local/etc/my.cnf ** – gary

+0

Świetna metoda, jednak dostaję tam kilka wyników: 'private/etc/my.cnf','/usr/local/etc/my.cnf', '/ usr/local/Cellar/mysql//my.cnf',' ~ .my.cnf' z 'my_print_def' w prawej kolumnie. Potem po chwili jest tylko '/ usr/local/etc/my.cnf' z moim terminalem w kolumnie po prawej stronie. Ale wszystkie te pliki 'my.cnf' nie istnieją! – Andru

+0

@Andru Jeśli żadna z nich nie istnieje, utwórz nową. – kenorb

4

można sprawdzić /usr/local/bin/mysql.server pliku i zobaczyć skąd my.conf jest odczytywany. zwykle jest to od /etc/my.cnf lub ~/my.cnf

3

Dla MAMP 3,5 Mac El Capitan, utworzyć oddzielną pusty plik konfiguracyjny i napisać swoje dodatkowe ustawienia dla mysql

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

I Dodaj niczym to

[mysqld] 
max_allowed_packet = 256M 
1

Sprawdziłem w MacOS Sierra, homebrew zainstalowany MySql 5.7.12

pliki wsparcia znajdują się na

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

Wystarczy skopiować my-default.cnf jako /etc/my.cnf lub /etc/mysql/my.cnf, a konfiguracja zostanie wybrana przy ponownym uruchomieniu.

+3

Właśnie zainstalowałem 5.7.18 na 12.12.4 przez homebrew i nie ma ich tam. –

0

Skopiuj /usr/local/opt/mysql/support-files/my-default.cnf jako /etc/my.cnf lub /etc/mysql/my.cnf, a następnie zrestartuj mysql.

0

Dla mnie w wersji sierra

skopiować konfigurację domyślną na:

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

do

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

0

W moim przypadku plik nie istnieje. W MySQL Workbench poszedłem do OPTIONS FILE i znalazłem kilka wartości domyślnych. Kliknąłem, by zastosować. Poprosił o pozwolenie. Następnie utworzył plik my.cnf w katalogu/etc. Jednak bardzo ważne jest, aby pamiętać, że przy pierwszym kliknięciu "Zastosuj" nie wprowadzasz żadnych zmian w domyślnej konfiguracji. Po utworzeniu pliku możesz wprowadzić zmiany, które zostaną zastosowane po kliknięciu "Zastosuj". W przeciwnym razie po wprowadzeniu zmian nie zostanie wyświetlony przycisk Zastosuj.

+0

Jak uzyskać dostęp do workbench mysql –

+0

Mam plik opcji w katalogu '/ etc/mysql/my.cnf', ale MySQL Workbench nie jest tego świadomy. Zamiast tego skarży się, że plik konfiguracyjny z pustą ścieżką nie może zostać znaleziony, a następnie oferuje utworzenie nowego pliku. –

1

Jeśli używasz MacOS Sierra i plik nie istnieje, run

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

aby zobaczyć możliwe lokalizacje i ładowanie/odczyt sekwencji my.cnf MySQL następnie tworzę.Plik CNF w jednym z proponowanych katalogów następnie dodać następujący wiersz

[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

Można sudo touch /{preferred-path}/my.cnf następnie edytować plik, aby dodać tryb sql przez

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

Następnie uruchom mysql, voilaah jesteś dobrze iść. szczęśliwe kodowanie