Сообщение от
system331
С одного шелла подключился с БД другого сервера, у юзера под которым подключился file_priv=N, но можно изменять данные в БД mysql.user изменил file_priv на Y, но шелл всё равно не заливается. пишет что для моего юзера не хватает прав. Что можно предпринять?
Нужно обновить привелегии. Как это сделать - я писал в своём небольшом обзоре
тут
На всякий случай - вот копипаст
Итак, если нам вдруг понадобится срочно перезагрузить MySQL, а прав на RELOAD нет, чтобы выполнить
FLUSH PRIVILEGES;
нам могут помочь следующие способы:
Способ №1:
Самый старый из найденных мной, но ни разу нигде не сработавших.
Тем не менее человек на этом форуме утверждает, что это возможно...
Тема 2008 года =)
Кратко: MySQL падает так как надо указывать имя триггера в виде `mydb`.`mytrigger`, а не просто mytrigger.
Код:
mysql> CREATE TRIGGER mytrigger AFTER INSERT
-> ON `mydb`.`mytable` FOR EACH ROW
-> BEGIN END;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
OC = Windows XP SP 2
MySQL 5.0.16
Результат - Способ не отработал.
Способ №2:
Заключается в эксплуатации бага #63775
Кратко: MySQL падает при чтении заголовка, следующего за удалённой записью.
Код:
#
# Bug#13510739 63775: SERVER CRASH ON HANDLER READ NEXT AFTER DELETE RECORD.
#
-- source include/have_innodb.inc
CREATE TABLE bug13510739 (c INTEGER NOT NULL, PRIMARY KEY (c)) ENGINE=INNODB;
INSERT INTO bug13510739 VALUES (1), (2), (3), (4);
DELETE FROM bug13510739 WHERE c=2;
HANDLER bug13510739 OPEN;
HANDLER bug13510739 READ `primary` = (2);
# this one crashes the server IF the bug IS present
HANDLER bug13510739 READ `primary` NEXT;
DROP TABLE bug13510739;
На оффициальном сайте говорится, что пофиксено начиная с версии 5.1.62
Решил испытать на своей системе, где версия MySQL 5.1.61.
Зависимости:
MySQL 3
[/B]
Результат - успешный перезапуск MySQL. PROFIT !!!