Показать сообщение отдельно

  #227  
Старый 13.09.2012, 07:39
BigBear
Новичок
Регистрация: 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 !!!


З.Ы. Это не дублирование - перетащил из другого места, тут логичнее всего оставить.