it-roy-ru.com

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

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

142
nicolas

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

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

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

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

  1. Открытие соединения
  2. Выбрав «Файл опций» в разделе «INSTANCE» в меню.
  3. MySQLWorkbench будет искать my.cnf и, если он не сможет его найти, он создаст его для вас
223
bfavaretto

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

69
Eigengrau

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

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

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

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

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

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

  • ~/.my.cnf - пользовательский
  • ~/.mylogin.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          
    

    Так что, если файл не существует, создайте его.

42
kenorb

Я не знаю, какую версию 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
30
Jeffrey Chung

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

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

19
Sergio Rodrigues

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

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, вуаля, вы готовы идти. счастливое кодирование

12
Gpak

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

12
Jpsy

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

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

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

9
sreimer

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

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

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

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

Пример информации о файле, найденной в этом файле:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>com.Oracle.oss.mysql.mysqld</string>
    <key>ProcessType</key>       <string>Interactive</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>SessionCreate</key>     <true/>
    <key>LaunchOnlyOnce</key>    <false/>
    <key>UserName</key>          <string>_mysql</string>
    <key>GroupName</key>         <string>_mysql</string>
    <key>ExitTimeOut</key>       <integer>600</integer>
    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>
    <key>ProgramArguments</key>
        <array>
            <string>/usr/local/mysql/bin/mysqld</string>
            <string>--user=_mysql</string>
            <string>--basedir=/usr/local/mysql</string>
            <string>--datadir=/usr/local/mysql/data</string>
            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
             <string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>
             <string>--early-plugin-load=keyring_file=keyring_file.so</string>

        </array>
    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>
8
Datbates

Вы можете проверить файл 

/usr/local/bin/mysql.server и посмотрите, откуда my.conf читается. 

Обычно это от /etc/my.cnf или ~/my.cnf или ~/.my.cnf

6
Vazgen Manukyan

macOs sierra 10.12.6 mysql версия: 5.7.18_1 Я запускаю найдите my.cnf и путь 

/usr/local/etc/my.cnf

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

5
aginanjar

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

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

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

[mysqld]
max_allowed_packet = 256M
4
mirza vu

macOS High Sierra версия 10.13.6

mysql Ver 14.14 Distrib 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
2
Ayoub Palangi

Я проверил в macOS Sierra, установлен доморощенный MySql 5.7.12

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

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

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

2
Abhishesh Sharma

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

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

Откройте терминал и используйте следующую команду:

Sudo find / -name my.cnf
1
user33670

Вы можете создать свой файл в любом каталоге. После создания вы можете «указать» путь к конфигу mysql:

 enter image description here

1
Shedom Wei

Для меня в версии сьерра

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

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

в

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

0
iamroald

ПРОЧИТАЙТЕ ДОКУМЕНТЫ!

MySQL Documents, для какой версии вы используете, поможет. Обычно описывается как Options File или MySQL Config File.
В документации есть расположение этих файлов в документации, а также другая VITAL информация, такая как расположение и небольшие примеры того, как должен выглядеть файл конфигурации.

MySQL Version 8

MySQL Version 5.7

MySQL Version 5.6

MySQL Version 5.5

MySQL версии 5.6 японский

Важные заметки:

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

Это намеренно как мера безопасности.

Другими словами, если у вас установлены неправильные права доступа в вашем конфигурационном файле, он НЕ будет загружаться.

Пример разрешения начальной настройки одного из файлов конфигурации:

RIZZOMBP$ ls -lah /etc/my.cnf
-rw-r--r--  1 myusername  wheel     0B Feb 25 20:40 /etc/my.cnf

Замечания:

Можно использовать директивы !include в файлах опций для включения других файлов опций и !includedir для поиска в определенных каталогах файлов опций .....

...MySQL не дает никаких гарантий относительно порядка чтения файлов опций в каталоге ...

Любые файлы, которые нужно найти и включить с помощью директивы! Includesir в операционных системах Unix, должны иметь имена файлов, заканчивающиеся на .cnf. В Windows эта директива проверяет файлы с расширением .ini или .cnf.

Примеры того, как найти ваше местоположение вашей конфигурации или файлов журналов и т. Д .:

SQL

Это не покажет вам файл конфигурации, но поможет вам найти ваши установочные файлы/папки.

MySQL версии 5.7 и 8+

SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

Версия MySQL <= 5.6

SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

Shell/Terminal

RIZZOMBP$ mysql --help | grep "Default options" -A 1

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

Над Командой Кредит: Эрвин Майер от ServerFault

RIZZOMBP$ mysqld --verbose --help | grep '/my.cnf' -B 1

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

OR

RIZZOMBP$ ps aux | grep -i mysqld | grep -v $USER

_mysql 106 0.4 2.5 4232336 422112 ?? Ss 7:01PM 0:57.12
/usr/local/mysql/bin/mysqld
--user=_mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--plugin-dir=/usr/local/mysql/lib/plugin
--log-error=/usr/local/mysql/data/mysqld.local.err
--pid-file=/usr/local/mysql/data/mysqld.local.pid
--keyring-file-data=/usr/local/mysql/keyring/keyring
--early-plugin-load=keyring_file=keyring_file.so

Образец файла

Если вам нужен подробный справочный пример my.cnf:

  1. https://Gist.github.com/search?utf8=%E2%9C%93&q=my.cnf+mysql&ref=searchresults
  2. https://www.linode.com/community/questions/5749/mysql-sample-config-files
  3. https://www.fromdual.com/mysql-configuration-file-sample

Нет связи/ассоциации с URL

Моя система:

RIZZOMBP$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.3
BuildVersion:   18D109
RIZZOMBP$ mysql -V
mysql  Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)
RIZZOMBP$ mysqld -V
/usr/local/mysql-8.0.15-macos10.14-x86_64/bin/mysqld 
Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)
0
JayRizzo

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

0
Nguyen Thanh Tung

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

0
Sameer Khanal

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

0
Raman Singh

он должен быть обычно под /usr/local/etc на Mac, если вы не найдете его, вы можете создать его

0
Pravin

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

0
Mayank Raipure

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

0
Eawaun