Есть ли команда, чтобы определить, какой файл конфигурации MySQL 5.0 использует в настоящее время?
mysql
configuration
yalestar
источник
источник
ps auxf
и найти команду, выполненную для MySQL. Как правило, это выглядит примерно так:mysqld --basedir=/usr/local/mysql ...
(обратите внимание, что ... просто означает, что в команде может быть больше флагов, но я не буду перечислять их все). Как только вы найдете это, скопируйте все это и затем завершите работу MySQL. Если вы на Linux это/etc/init.d/mysqld stop
илиmysqladmin -u root -p shutdown
. Затем запуститеstrace
команду mysql, которую вы скопировали. Так это будет выглядеть так:strace mysqld --basedir=/usr/local/mysql
open(...
линии. Вместо этого у меня есть 4 строки, которые заканчиваются= -1 Err#2
. Как вы узнаете, какой файл загружен?sudo dtruss mysqld 2>&1|grep my.cnf
@mgPePe, этот вывод скорее всего означает, что ни один из файлов не был найден, поэтому ни один не был открыт.Взято из фантастической книги О'Рейли «High Performance MySQL»:
источник
!includedir
. Я пытаюсь выяснить, почему!includedir
директива в моем/etc/mysql/my.cnf
файле не работает.mysqld
с полным путем ?!Если вы запустите
mysql --verbose --help | less
его, он сообщит вам о строке 11, какие.cnf
файлы он будет искать.Вы также
mysql --print-defaults
можете показать, как будут использоваться значения конфигурации. Это также может быть полезно при определении того, какой файл конфигурации он загружает.источник
mysqld
вместоmysql
mysqld --print-defaults
, это дало мне именно то, что я хотел, когда я гуглил этот вопрос.Я нахожусь на 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
источник
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
по умолчанию.Альтернативой является использование
источник
mysqld --help --verbose опасно. Вы можете легко переписать pidfile для запуска экземпляра! используйте это с --pid-file = XYZ
О, и вы не сможете использовать его, если у вас запущено более 1 экземпляра. Он покажет вам только значение по умолчанию.
Действительно хорошая статья об этом:
Как найти файл конфигурации MySQL?
источник
Просто сделал быстрый тест на 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 "Опции по умолчанию"
источник
Использование MySQL Workbench будет показано в разделе «Состояние сервера»:
источник
Я нашел это действительно полезным:
Control Panel -> Administration Tools
Properties
Path to executable
и посмотрите, содержит ли он путь кmy.ini/my.cfg
источник
На некоторых серверах установлено и настроено несколько версий MySQL. Убедитесь, что вы имеете дело с правильной версией, работающей с командой Unix:
источник
Для людей, работающих под управлением Windows Server с MySQL в качестве службы, простой способ выяснить, какой файл конфигурации вы используете, это открыть панель управления службами, найти службу MySQL (в моем случае «MYSQL56»), щелкнуть правой кнопкой мыши и выбрать свойства , Затем отсюда вы можете проверить «Путь к исполняемому
defaults-file
файлу », который должен иметь переключатель, указывающий, где находится ваш файл конфигурации.источник
На случай, если вы используете Mac, это также может быть достигнуто:
источник
Если вы используете Windows, вы можете использовать Sysinternals procmon . Откройте его и настройте параметры фильтра следующим образом, затем нажмите «Добавить». Теперь procmon будет контролировать mysqld.
Теперь запустите ваш сервер MySQL как обычно. Procmon будет захватывать фоновые операции mysql. Поиск "мой". в области результатов procmon вы найдете что-то вроде следующего:
Понятно, что mysql ищет список файлов конфигурации по очереди. В моем случае он обнаружен
C:\mysql-5.7.19-winx64\my.cnf
успешно, поэтому он использует этот.источник
Я установил MySQL использовать Brew установить MySQL
И это показывает:
источник