Для доморощенных установок mysql, где my.cnf? Это установить один?
293
My.cnf по умолчанию не существует. Таким образом, MySQL запускается со всеми настройками по умолчанию. Если вы хотите создать свой собственный my.cnf для переопределения любых значений по умолчанию, поместите его в /etc/my.cnf.
Кроме того, вы можете запустить mysql --help
и просмотреть его для перечисленных мест конф.
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
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
Как вы можете видеть, есть также несколько вариантов обхода файлов conf или указания других файлов для чтения при вызове mysql в командной строке.
ls $(brew --prefix mysql)/*.cnf
mysql --help | grep cnf
было на самом деле легче найти линии.Доморощенный mysql содержит примеры файлов конфигурации в папке support-files установки.
Если вам нужно изменить настройки по умолчанию, вы можете использовать один из них в качестве отправной точки.
Как указывает @rednaw, скорее всего, будет установлена домашняя версия MySQL,
/usr/local
поэтому файл my.cnf не следует добавлять в системную/etc
папку, поэтому я изменил команду для копирования файла/usr/local/etc
.Если вы используете MariaDB вместо MySQL, используйте следующее:
источник
sudo cp $(brew --prefix mysql)/support-files/my-default.cnf /etc/my.cnf
/usr/local/
(который, я думаю, используется по умолчанию), вы также можете поместить егоmy.conf
в/usr/local/etc/
, который не требует привилегий root.brew --prefix mariadb
. В дистрибутиве MariaDBmy-default.cnf
не существует - так что используйтеmy-small.cnf
. Попробуйте этоcp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf
Один из способов узнать это:
источник
mdfind -name my.cnf
вместоlocate
команды на OSXlocate my.cnf
сработало напрямую. Я не бегалsudo /usr/libexec/locate.updatedb
/usr/local/Cellar/mysql/8.0.16/.bottle/etc/my.cnf
и/usr/local/etc/my.cnf
было то, что я получилв моей системе это было
как шаблон и
как работает.
источник
Ничто действительно не помогло мне - я не мог перезаписать настройки в файле /etc/my.cnf. Поэтому я искал, как Джон предложил https://stackoverflow.com/a/7974114/717251
Он нашел другой my.cnf в
изменение этого файла сработало для меня! Не забудьте перезапустить агент запуска:
Обновить:
Если у вас достаточно недавняя установка homebrew, вы должны использовать команды brew services для перезапуска mysql (используйте установленную версию mysql для homebrew, т.е. mysql или mysql@5.7):
источник
brew services stop mysql
иbrew services start mysql
на местеlaunchctl unload ...
линий.Поскольку
mysql --help
показывает список файлов, я считаю полезным направить результат,ls
чтобы увидеть, какие из них существуют:Для моего (установленного Homebrew) MySQL 5.7 кажется, что файлы включены
/usr/local/etc/my.cnf
.источник
На ваш тип оболочки
my_print_defaults --help
В нижней части результата вы должны увидеть файл, из которого сервер считывает конфигурации. Он печатает что-то вроде этого:
источник
Вы можете найти, где
my.cnf
файл был предоставлен конкретным пакетом, например,Кроме того, чтобы проверить, читается ли этот файл, вы можете запустить:
который покажет вам активность файловой системы в реальном времени, связанную с этим файлом.
источник
Я считаю, что ответ - нет. Установка одного из них в ~ / .my.cnf или / usr / local / etc кажется предпочтительным решением.
источник
В случае с Homebrew mysql также ищет my.cnf в каталоге Cellar, например:
Для случая предпочитают держать конфигурацию близко к двоичным файлам - создайте
my.cnf
здесь, если это отсутствует.Перезапустите mysql после изменения:
источник
Версия сервера: 8.0.19 Homebrew. macOS Catalina 10.15.5 и установленный MySQL через Homebrew. Нашел этот файл здесь:
Это решение помогло :)
источник
Для MacOS (High Sierra), MySQL, который был установлен вместе с home brew.
Увеличение глобальных переменных из среды mysql не было успешным. Так что в этом случае создание ~ / .my.cnf - самый безопасный вариант. Добавление переменных с помощью [mysqld] будет включать изменения (Примечание: если вы измените с помощью [mysql], изменение может не сработать).
Перезапустите сервер MySQL. и проверьте переменные. Y
1 ряд в наборе (0,00 сек)
источник
$ps aux | grep mysqld /usr/local/opt/mysql/bin/mysqld --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql/lib/plugin
Перетащите файл my.cf на
/usr/local/opt/mysql
brew services restart mysql
источник