Где my.cnf находится в macOS High Sierra? - PullRequest
0 голосов
/ 06 мая 2019

Я хотел отключить некоторые параметры в строгом режиме сервера MySql, но по какой-то причине я даже не могу найти его файл конфигурации (my.cnf)

В настоящее время установлен MySql: Версия 14.14 Distrib 5.7.20, для macos10.12 (x86_64)

Выходные данные, генерируемые

mysql --help

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

  • / и т.д. / my.cnf
  • / и т.д. / MySQL / my.cnf
  • / USR / местные / MySQL / и т.д. / my.cnf
  • ~ / .my.cnf

Но нет такого файла как my.conf

Я провел некоторую исследовательскую работу по SO, но ни один из советов мне не помог.

Что я должен делать?

Ответы [ 3 ]

1 голос
/ 18 мая 2019

В MySQL встроены настройки по умолчанию. Файл (ы) конфигурации, , если есть , переопределяют значения по умолчанию.

Обратите внимание, что файлы конфигурации не просматриваются, кроме как при запуске. Таким образом, редактирование или создание такого файла не имеет никакого эффекта, пока вы не перезапустите mysqld.

Если вы ошибетесь в синтаксисе, mysqld не запустится. Затем вам нужно найти ошибку, либо во время запуска, либо в файле журнала. (Или вы можете спросить здесь «в чем моя синтаксическая ошибка».)

Что касается расположения и имени файлов конфигурации, которые будут использоваться:

$ mysql --help

дает вам список для mysql, но, возможно, он вам нужен для сервера, поэтому попробуйте

$ mysqld --help --verbose

дает вам длинный вывод; может быть 50 строк сверху, вы должны увидеть что-то вроде:

Usage: mysqld [OPTIONS]

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

Вы спрашивали о my.conf; это была опечатка?

Независимо от того, если эти файлы отсутствуют, вы можете создать их, сделать их читаемыми с помощью mysql и поместить в них элементы, перед которыми стоит [mysqld], чтобы сервер их видел.

Персональное переопределение

Независимо от того, что находится в файлах по умолчанию и / или конфигурационных файлах, вы можете добавить к последнему данному файлу. В приведенных выше примерах это «скрытый» .my.cnf в вашем домашнем каталоге. Все, что вам нужно сделать, это создать несколько строк:

[mysql]
some_setting = somevalue
[client]
some_setting = somevalue

Это помогает для инструмента командной строки «mysql» и / или других клиентов (возможно).

Но если вам нужно внести изменения в сервер mysqld, он должен быть в одном из других файлов. Опять же, минимум это что-то вроде

[mysqld]
some_setting = somevalue

Обратите внимание на mysqld для обозначения сервера . И не забудьте перезапустить службу.

Еще одно примечание: если вы видите (в существующем файле конфигурации), !includedir ..., то перейдите в этот каталог, чтобы найти любое количество других файлов. Вы можете добавить свой собственный файл, скажем, z.cnf (чтобы он выбирался последним) с двумя (или более) строками, как указано выше.

1 голос
/ 07 мая 2019

Вы можете попробовать:

$ locate mysql | grep my.cnf

Он должен показать местоположение (я), если оно существует.

0 голосов
/ 18 мая 2019

Содержимое на этом веб-сайте гласит:

У меня была срочная необходимость настроить некоторые специфические вещи в MySQL 5.7 на моем компьютере разработчика, MacBook Pro с Mac OS Sierra.К сожалению, я не нашел файл my.cnf, который можно было бы настроить где-либо еще?

Интернет-исследование показало, что MySQL Database Server в Mac OS по умолчанию работает без файла конфигурации my.cnf, просто запускается со значениями по умолчанию.

К счастью, довольно просто настроить установку MySQL Server, создав и отредактировав собственный файл my.cnf, например:

sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf Then edit / customize the /etc/my.cnf файл, и перезапустите MySQL Server.

Или вы можете обратиться к этому ответу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...