2012-01-25 3 views
4

Я обновил файл my.cnf моей базы данных со следующей строкой: max_connections = 200. Я остановился и начал службу mysql после этого, чтобы изменения вступили в силу. Но по какой-то причине это изменение не влияет на базу данных, потому что если я бегу MySQL> SELECT @@ max_connections это показывает, что максимальное число соединений 100.Mysql: изменение в my.cnf не вступает в силу

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

Благодарим вас за ответ.

+0

В какой операционной системе вы используете сервер mysql? – txyoji

+0

Я использую linux для своего сервера. – Ewoud

+0

Возможно, ограничения памяти могут ограничить его до 100. Я проверил свой собственный на 200, но смог получить только 151 из @@ max_connections. Я установил его на 110, чтобы подтвердить, что значение было прочитано из my.cnf, и я вернул правильный 110 из @@ max_connections. –

ответ

5

Убедитесь, что max_connections в рамках секции [туздЫ]:

Ex:

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

[client] 
#mysql-client settings here.. 
+0

briliant, это сделал трюк. Большое спасибо. – Ewoud

5

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

 
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'. 

+0

Не исправил, но это все равно помогло мне. Спасибо! – Ewoud

0

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

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

1

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

0

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^