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

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

Этот stream на форуме MySQL говорит:

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

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

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

  1. Открытие соединения
  2. Выбор «Файл настроек» в разделе «ИНСТАНЦИЯ» в меню.
  3. MySQLWorkbench будет искать my.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 представляет каталог, заданный параметром SYSCONFDIR для CMake при SYSCONFDIR MySQL. По умолчанию это каталог etc, расположенный в каталоге скомпилированной установки.

  • $MYSQL_HOME/my.cnf – для сервера (только для сервера)

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

  • файл, указанный с параметром --defaults-extra-file=path если он есть

  • ~/.my.cnf – Пользовательский
  • ~/.mylogin.cnf – Пользовательский (только для клиентов)

Источник: Использование файлов параметров .

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


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

  1. Запуск: sudo fs_usage | grep my.cnf 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 (файл, указанный с --defaults-extra-file=path , если таковой имеется)
  6. ~/.my.cnf

Для MySQL 5.7 в Mac OS X El Capitan: /usr/local/mysql/etc/my.cnf

Скопировать настройки по умолчанию из /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, путь my.cnf

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

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

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

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

чтобы увидеть возможные места и последовательность загрузки / чтения my.cnf для mysql, затем создайте файл my.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, вуалях, вам хорошо идти. счастливое кодирование

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

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

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

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

вы можете проверить файл /usr/local/bin/mysql.server и посмотреть, откуда читается my.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, доморощенный установил MySql 5.7.12

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

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

Просто скопируйте my-default.cnf как /etc/my.cnf или /etc/mysql/my.cnf и при /etc/mysql/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 то, что сработало для меня, создает файл .my.cnf в моем ~ пути. Надеюсь это поможет.

Скопируйте файл /usr/local/opt/mysql/support-files/my-default.cnf как /etc/my.cnf или /etc/mysql/my.cnf, а затем перезапустите mysql.

Для меня в версии sierra

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

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

в

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

В моем случае файл не существует. В MySQL Workbench я пошел в ФАЙЛ ОПЦИЙ и нашел некоторые значения по умолчанию. Я нажал. Он попросил разрешения. Затем он создал файл my.cnf под именем / etc. Однако очень важно помнить, что при первом нажатии «применить» вы не вносите никаких изменений в конфигурацию по умолчанию. После того, как файл был создан, вы можете вносить изменения, которые будут применяться, когда вы нажмете «применить». В противном случае вам не будет показана кнопка Apply при внесении изменений.

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

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

macOs sierra 10.12.6 mysql версия: 5.7.18_1 Я запустил locate my.cnf, и путь

/usr/local/etc/my.cnf

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

Давайте будем гением компьютера.