Расположение мое.cnf файл на macOS

Я пытаюсь следовать вдоль в этом уроке включить удаленный доступ к MySQL. Проблема в том, где должен my.cnf файл находиться? Я использую Mac OS X Lion.

22 ответов


этот поток на форуме MySQL говорит:

по умолчанию установка OS X не использует my.cnf, и MySQL просто использует значения по умолчанию. Чтобы создать свой собственный мой.cnf, вы можете просто создать файл прямо в /etc.

OS X предоставляет пример файлов конфигурации в /usr/local/mysql/support-files/.

и если вы не можете найти их там, MySQLWorkbench может создать их для вас:

  1. Открытие a связи
  2. Выбрать файл опции '' под 'экземпляр' в меню.
  3. MySQLWorkbench будет искать меня.cnf, и если он не может найти его, он создаст его для вас

в случае Mac OS X Maverick, когда MySQL установлен через Homebrew, он находится по адресу /usr/local/opt/mysql/my.cnf


в общем, в Unix и Unix-подобных системах программы MySQL / MariaDB читают файлы конфигурации / запуска в следующих местах (в указанном порядке):

  • /etc/my.cnf - глобальный
  • /etc/mysql/my.cnf глобальные
  • SYSCONFDIR/my.cnf глобальные

    SYSCONFDIR представляет каталог, указанный с помощью до CMake когда MySQL был построен. По умолчанию, это каталог и расположена по сборке каталог установки.

  • $MYSQL_HOME/my.cnf - сервере (только сервер)

    MYSQL_HOME - это переменная среды, содержащая путь к каталогу, в котором конкретного сервера my.cnf проживает файла. Если MYSQL_HOME не установлен и вы запустите сервер с помощью , mysqld_safe С BASEDIR, базовый каталог установки MySQL.

  • файл, указанный с --defaults-extra-file=path если

  • ~/.my.cnf - специфичный для пользователя
  • ~/.mylogin.cnf - специфичный для пользователя (только для клиентов)

источник: Использование Option Files.

Примечание: На платформах Unix MySQL игнорирует файлы конфигурации, которые доступны для записи в мире. Это делается намеренно в качестве меры безопасности.


кроме того, на Mac есть простой способ проверить он.

  1. Run: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          
    

    поэтому, если файл не существует, создайте один.


Я не знаю, какую версию MySQL вы используете, но вот возможные местоположения my.файл cnf для версии 5.5 (взят из здесь) на 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=path, если есть)
  6. ~/.my.cnf

для MySQL 5.7 на Mac OS X El Capitan:/usr/local/mysql/etc/my.cnf

копировать conf по умолчанию из /usr/local/mysql/support-files/my-default.cnf


на текущий пакет MySQL для 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
Адаптируйте свой путь в соответствии с вашей версией.


в mysql 5.6.22, который я установил его из Homebrew, путь мой.cnf

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

вы можете открыть терминал и введите locate my.cnf


если вы используете macOS Sierra и файл не существует, запустить

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 затем отредактируйте файл, чтобы добавить режим sql по

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

затем перезапустите mysql, voilaah вы хорошо идти. счастливый кодирование


Так что ни одна из этих вещей работает на меня. Я использую текущую установку dmg сервера сообщества mysql. ps показывает, что все самые критические параметры нормально в моем.КНФ передаются в командной строке, и я не мог понять, откуда она исходит. После выполнения полнотекстового поиска в моем поле я нашел его в:

/ библиотека / LaunchDaemons / com.оракул.ОСС.для MySQL.тузды.файл plist

таким образом, вы можете либо изменить их там, либо вынуть их, так что это будет на самом деле уважай тех,кто у тебя в моем.cnf, куда бы вы ни решили его поместить.

наслаждайтесь!


вы можете проверить файл / usr / local/bin / mysql.сервер и посмотреть откуда мой.conf, который читается. обычно это из /etc / my.cnf или ~ / my.cnf


для MAMP 3.5 Mac El Capitan создайте отдельный пустой конфигурационный файл и напишите дополнительные настройки для mysql

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

и добавить вот так

[mysqld]
max_allowed_packet = 256M

Я проверил в macOS Sierra, установлен homebrew MySql 5.7.12

файлы поддержки расположены по адресу

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

просто скопировать my-default.cnf as /etc/my.cnf или /etc/mysql/my.cnf и конфигурация будет подобрана при перезапуске.


Я использую mysql версии 5.7.17 в macOS High Sierra версии 10.13.3, и я нашел файл конфигурации mysql здесь.

cd /usr/local/mysql/support-files/my-default.cnf

macOS High Sierra версия 10.13.6

MySQL Ver 14.14 дистрибутив 5.7.22, для osx10.13 (x86_64) использование оболочки EditLine Copyright (c) 2000, 2018, Oracle и/или ее филиалы. Все права защищены

опции по умолчанию считываются из следующих файлов в заданном порядке:

/etc/my.cnf 
/etc/mysql/my.cnf 
/usr/local/etc/my.cnf 
~/.my.cnf

для Mac, что сработало для меня, это создание .мой.cnf файл в моем ~ пути. Надеюсь, это поможет.


Copy/usr/local/opt/mysql/support-files / my-default.cnf as / etc / my.cnf или / etc / mysql / my.cnf, а затем перезапустите mysql.


для меня в Сьерра-версии

скопируйте конфигурацию по умолчанию по адресу:

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

до

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


в моем случае, файл не существует. В MySQL Workbench я пошел в файл опций и нашел некоторые значения по умолчанию. Я нажал кнопку Применить. Он попросил разрешения. Потом он создал меня.cnf файл под /etc. Однако очень важно иметь в виду, что при первом нажатии кнопки "Применить" вы не вносите никаких изменений в конфигурацию по умолчанию. После создания файла вы можете внести изменения, которые будут применены при нажатии кнопки "Применить". В противном случае вам не будет показана кнопка apply когда вы вносите изменения.


после версии 5.7.18 MySQL он не предоставляет файл конфигурации по умолчанию в каталоге support-files. Так ты можешь создать мою.cnf файл вручную в месте, где MySQL будет читать, например /etc/mysql / my.cnf и добавьте конфигурацию, которую вы хотите добавить в файл.


параметры rDefault считываются из следующих файлов в заданном порядке: / etc / my.cnf / etc / mysql / my.cnf / usr / local / mysql / etc / my.cnf ~/.мой.cnf


macOs sierra 10.12.6 версия mysql: 5.7.18_1 Я бегу!--1-->найдите мой.cnf путь

/ usr / local / etc / my.cnf

надеюсь, что это поможет.