Mysql: изменения в my.cnf не вступают в силу - PullRequest
7 голосов
/ 25 января 2012

Я обновил my.cnf файл моей базы данных следующей строкой: max_connections=200.После этого я остановился и запустил службу mysql, чтобы изменения вступили в силу.

Но по какой-то причине это изменение не повлияет на базу данных, потому что если я запусту:

mysql> select @@max_connections

, то онапоказывает, что максимальное количество соединений равно 100.

Очевидно, что есть еще место, которое управляет этим значением.Где я могу найти это или что я сделал не так?

Спасибо за ваш ответ.

Ответы [ 5 ]

8 голосов
/ 25 января 2012

Убедитесь, что max_connections в разделе [mysqld]:

Ex:

[mysqld]
socket=/path/to/mysql.sock
datadir=/var/lib/mysql
max_connections=200

[client]
#mysql-client settings here..
5 голосов
/ 25 января 2012

Попробуйте запустить mysqld --verbose --help, чтобы увидеть, какой файл конфигурации действительно читается mysqld и какие параметры и значения используются. Вывод будет выглядеть так:

mysqld  Ver 5.0.51a-24-log for debian-linux-gnu on x86_64 ((Debian))
Copyright (C) 2000 MySQL AB, by Monty and others
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf
The following groups are read: mysql_cluster mysqld server mysqld-5.0

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- -----------------------------
...

To see what values a running MySQL server is using, type
'mysqladmin variables' instead of 'mysqld --verbose --help'.

1 голос
/ 03 февраля 2016

Изменения в mysqld не обязательно отражаются в клиенте mysql!Я изменил назначение глобальной переменной в my.cnf, перезапустил службу и запросил ее в клиенте mysql.Вернул старое значение.Однако при запросе из скрипта значение фактически изменилось!

1 голос
/ 15 ноября 2013

Это может быть связано с тем, «как» сервер MySQL отключается и перезапускается.В моей системе, если я использую службу демона mysqld для выключения mysql (например, остановка службы mysqld), я получаю уведомление о завершении работы, но ps показывает, что mysql все еще работает.При использовании аналогичного «перезапуска службы mysqld» некоторые изменения в файле my.cnf принимаются, но многие этого не делают.

Другой способ выключения mysql - использовать mysqladmin -u user -pPassнеисправность.Я заметил, что когда я использовал этот метод, mysql был полностью отключен (без остатка в ps), и когда я перезапустил сервер mysql, все изменения в файле my.cnf были приняты.

0 голосов
/ 15 февраля 2018

Если mysql запускается как служба Windows, проверьте параметр «Путь к исполняемому файлу» в службе Windows. (Услуги -> MYSQL56 -> Свойства).

Если передан параметр --defaults-file, он может указывать на совершенно другой файл .ini в месте, которое НЕ отображается с помощью «mysqld --verbose --help».

Если вы удалите опцию --defaults-file из параметров запуска службы, она будет проходить через список файлов ini, перечисленных в mysqld --verbose --help.

...