Определите, какой файл конфигурации MySQL используется - PullRequest
129 голосов
/ 24 февраля 2009

Есть ли команда, чтобы определить, какой файл конфигурации MySQL 5.0 использует в настоящее время?

Ответы [ 13 ]

228 голосов
/ 24 мая 2010

Взято из фантастической книги О'Рейли "High Performance MySQL":

$ which mysqld
/usr/sbin/mysqld

$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf
58 голосов
/ 24 февраля 2009

Если вы запустите mysql --verbose --help | less, он сообщит вам о строке 11, которая .cnf файлов будет искать.

Вы также можете сделать mysql --print-defaults, чтобы показать вам, как будут использоваться значения конфигурации. Это также может быть полезно при определении того, какой файл конфигурации он загружает.

55 голосов
/ 24 февраля 2009

Если вы работаете в Linux, запустите mysqld с strace, например, strace ./mysqld.

Среди всех других системных вызовов вы найдете что-то вроде:

stat64("/etc/my.cnf", 0xbfa3d7fc)       = -1 ENOENT (No such file or directory)
stat64("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=4227, ...}) = 0
open("/etc/mysql/my.cnf", O_RDONLY|O_LARGEFILE) = 3

Итак, как вы видите ... в нем перечислены файлы .cnf, которые он пытается использовать и, наконец, использует.

27 голосов
/ 09 июля 2013

Я нахожусь на Windows, и я установил самую последнюю версию сообщества MySQL 5.6

Что я сделал, чтобы увидеть, какой файл конфигурации использует, так это зашел в Администрирование> Сервисы> MySQL56> Щелкните правой кнопкой мыши> Свойства и проверьте путь к исполняемому файлу:

"C: / Program Files / MySQL / MySQL Server 5.6 / bin \ mysqld" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MySQL56

17 голосов
/ 09 июня 2012

Альтернативой является использование

mysqladmin variables
13 голосов
/ 16 апреля 2012

mysqld --help --verbose опасно. Вы можете легко переписать pidfile для запуска экземпляра! используйте это с --pid-file = XYZ

О, и вы не сможете использовать его, если у вас запущено более 1 экземпляра. Он покажет вам только значение по умолчанию.

Действительно хорошая статья об этом:

Как найти файл конфигурации MySQL?

8 голосов
/ 12 января 2011

Только что сделал быстрый тест на Ubuntu:

  • установлен mysql-сервер, на котором создан /etc/mysql/my.cnf

  • mysqld --verbose --help | grep -A 1 «Опции по умолчанию»

110112 13:35:26 [Примечание] Плагин 'FEDERATED' отключен.
Параметры по умолчанию читаются из следующих файлов в указанном порядке: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~ / .my.cnf

  • создал /etc/my.cnf и /usr/etc/my.cnf, каждый с различным номером порта

  • перезапустил mysql - он использовал номер порта, указанный в /usr/etc/my.cnf

Также тем временем нашел параметр --defaults-file для mysqld. Если вы укажете файл конфигурации там, будет использоваться только тот, который будет возвращен / usr / sbin / mysqld --verbose --help | grep -A 1 «Опции по умолчанию»

3 голосов
/ 20 сентября 2015

Я нашел это действительно полезным:

  1. Найдите процесс MySQL в Службах под Control Panel -> Administration Tools
  2. Щелкните правой кнопкой мыши и выберите Properties
  3. Нажмите и выберите Path to executable и посмотрите, содержит ли он путь к my.ini/my.cfg
2 голосов
/ 04 октября 2016

Использование MySQL Workbench будет показано в разделе «Состояние сервера»: enter image description here

2 голосов
/ 15 января 2013

На некоторых серверах установлено и настроено несколько версий MySQL. Убедитесь, что вы имеете дело с правильной версией, работающей с Unix команда:

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