«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/

 
comments powered by Disqus