Monday, November 19, 2012

«DELETE FROM users» — как застраховать себя от подобных стейтментов в MySQL

Дисклаймер: Все права на данный материал принадлежат Хабрахабр / Лучшие за сутки / Посты и могут быть найдены по ссылкам ниже.

Когда в очередной раз, пытаясь изменить пароль одного из пользователей или вручную поправить поле какой-нибудь одной записи, забываешь ввести WHERE, ты обеспечиваешь себе не только тонну кирпичей, но и незабываемый экспириенс по восстановлению бекапов.

На днях наткнулся на метод, который поможет застраховаться от подобных случаев:

В «юморном» варианте опция запуска MySQL должна быть: --i-am-a-dummy
mysql --i-am-a-dummy -uroot test

В «серьезном» варианте: --safe-updates
mysql --safe-updates -uroot test

dev.mysql.com/doc/refman/5.6/en/mysql-tips.html

Обеспечивает запрет исполнения UPDATE или DELETE FROM, если не указано WHERE или LIMIT.
Плюс ограничивает все SELECT 1000 результатов, если не указан LIMIT, его можно указать опцией
--select_limit=1000
Еще ограничивает максимальный размер просматриваемых для join строк в 1,000,000, изменяется опцией
--max_join_size=1000000

АВТОР: Хабрахабр / Лучшие за сутки / Посты http://habrahabr.ru/post/159181/




ifttt
Put the internet to work for you. via Personal Recipe 1574425

No comments:

Post a Comment

Search This Blog