Страница 1 из 1

Не работает опция MySQL max_user_connections

Добавлено: 2013-04-08 15:28:25
pascal
Обнаружил жесть.
В my.cnf прописал max_user_connections = 5 и max_connections = 100
В таблице mysql.user для пользователя сделал max_user_connections и max_connections = 5
Перезагрузил мускуль.
Дальше под пользователем (не под рутом) выполняю такой скрипт:

Код: Выделить всё

<?php

error_reporting(E_ALL);
ini_set('display_errors', 'on');

for ($j=0; $j<10000; $j++) {
  $ok = mysql_connect('localhost', 'username', 'pass', true);
  if (!is_resource($ok)) die("$j: " . mysql_error() . "\n");
  mysql_select_db('dbname');
  mysql_query('select 123');
}

echo "done\n";

?>
И с ужасом обнаруживаю что он отрабатывает без ошибок. OK, ставлю max_user_connections=1 - в этом случае скрипт вылетает на втором коннекте как и положено. Едем далее. Ставим max_user_connections = 2 и несколько раз выполняем скрипт. При таком лимите скрипт вообще подключается к базе рандомное количество раз! Причём скачки очень существенные: от ста до нескольких тысяч подключений. У меня такое чувство что эта опция определяется динамически в зависимости от нагрузки на сервер.

Кто нибудь попробуйте проделать тот-же эксперимент, прошу поделиться результатами.

Re: Не работает опция MySQL max_user_connections

Добавлено: 2013-04-09 14:32:20
BlitzKrieg
Подключитесь пользователем этим и посмотрите, что в выводе.

Код: Выделить всё

show variables like '%connec%';