LINUX.ORG.RU
ФорумAdmin

mysql разница между root и просто пользователем

 


0

1

Всем привет.

Создаю двух пользователей:

GRANT ALL PRIVILEGES ON mydb.* TO 'root'@'192.168.0.5'      IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON mydb.* TO 'user_test'@'192.168.0.5' IDENTIFIED BY 'pass';

И с 192.168.0.5, подключившись к mydb, делаю запрос:

CREATE TEMPORARY TABLE IF NOT EXISTS testtable ( INDEX(some_id) )
ENGINE=myisam
AS (
  SELECT some_id, max(id) id FROM `bigtable_logs`
    WHERE <выборка времени> GROUP BY some_id
);
В случае с пользователем root всё ок.

В случае с пользователем user_test - в 2ух случаях из 4х вместо результата отлуп сервера:

ERROR 2013 (HY000) at line 4: Lost connection to MySQL server during query
В логах mysqld.err в это время:
150623 17:14:42 [Warning] Warning: Enabling keys got errno 0 on mydb.testtable, retrying

Подскажите пожалуйста что почитать чтобы понять, что это и\или как сделать чтобы из под пользователя user_test всё то же работало?

Спасибо.

★★★

Lost connection to MySQL server during query

Такое вылезает если сервер закрешился или запрос слишком большой

goingUp ★★★★★
()
Ответ на: комментарий от anonymous

Версия 5.5.43-37.2 Не похоже. Т.к. таблица bigtable_logs в innodb пробовал менять движок и для темовой на innodb - не помогает.

fura13 ★★★
() автор топика
Ответ на: комментарий от goingUp

Окей я могу допустить и то и то. Но не понятно почему такое происходит из под одного пользователя и гарантированно не происходит из под другого пользователя? Как мне казалось - разница лишь в именах пользователей.

fura13 ★★★
() автор топика
Ответ на: комментарий от fura13

Возьми этот запрос, выполни его вручную в mysql клиенте под разными пользователями. Скорее всего результат будет одинаков.

goingUp ★★★★★
()
Ответ на: комментарий от fura13

Еще такое бывает, когда превышен таймаут со времени последнего запроса, тогда mysql закрывает соединение.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

я видимо не указал этот момент, я делаю как раз именно так, запускаю этот запрос вручную, и по времени и таймаутам - «разрывы» из под user_test абсолютно рандомны - запрос выполняется то 7 то 15 секунд

fura13 ★★★
() автор топика

max_allowed_packet попробуй увеличить, мож поможет:

An INSERT or REPLACE statement that inserts a great many rows can also cause these sorts of errors. Either one of these statements sends a single request to the server irrespective of the number of rows to be inserted; thus, you can often avoid the error by reducing the number of rows sent per INSERT or REPLACE.
Почему у рута нет проблемы - хз.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

подропал юзеров, перезапустил mysql, создал заново для другого хоста, тот же результат, у рута все ок у остальных пользователей mysql has gone away

max_allowed_packet стоит большой, 256МБ, там 100к записей они точно влезают

fura13 ★★★
() автор топика

хм, можно сравнить таймауты от юзера и рута

show variables like '%timeout';

invokercd ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.