
13.09.2012, 07:39
|
|
Новичок
Регистрация: 04.12.2008
Сообщений: 11
Провел на форуме: 69033
Репутация:
8
|
|
Не знал куда запостить, сюда наверно логичнее всего...
На статью не тянет, скорее заметка... Но тем не менее просто нужная информация...
Итак, если нам вдруг понадобится срочно перезагрузить MySQL, а прав на RELOAD нет, чтобы выполнить
Код:
Code:
FLUSH PRIVILEGES;
нам могут помочь следующие способы:
Способ №1:
Самый старый из найденных мной, но ни разу нигде не сработавших.
Тем не менее человек на этом форуме утверждает, что это возможно...
Тема 2008 года =)
Кратко: MySQL падает так как надо указывать имя триггера в виде `mydb`.`mytrigger`, а не просто mytrigger.
Код:
Code:
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
Проверил работоспособность на Centos-6.3 2.6.34
Скрин приведён ниже.

Результат - Способ не отработал.
Способ №2:
Заключается в эксплуатации бага #63775
Кратко: MySQL падает при чтении заголовка, следующего за удалённой записью.
Код:
Code:
#
# 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
Результат - успешный перезапуск MySQL. PROFIT !!!
З.Ы. Это не дублирование - перетащил из другого места, тут логичнее всего оставить.
|
|
|