Более месяца назад были обнаружены две критические уязвимости нулевого дня во втором самом популярном в мире программном обеспечении по управлению базами данных MySQL: Читать
Все мы осознаем важность бекапов.
Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql Читать
CREATE TABLE newtable LIKE oldtable;
INSERT newtable SELECT * FROM oldtable;
Автор: Sergiy Kamolov
Дата публикации: 2015-07-21T13:51:00.001+03:00
MySQL: insert … on duplicate key update
Часто ли вы используете данную конструкцию?
Наверняка любой программист, кто мало-мальски связан с вебом (а под «вебом» я понимаю LAMP — Linux Apache MySQL PHP), сталкивался c ситуацией, когда перед вставкой новой записи в БД нужно проверить, а вдруг запись с таким ключом уже есть? И если таковая уже имеется, то надо не вставлять новую, а обновлять старую.
Пример применения простой. У вас есть интернет-магазин и вы периодически синхронизируете свою локальную БД с сайтом. Если товар уже присутствует, надо обновить остаток, а если в БД сайта товара нет, то надо добавить запись. Читать
Раньше, при разработки сайтов, никогда особо не акцентировал свое внимание на защиту от т.з. «SQL-инъекций». Что это такое думаю много говорить не стоит, просто процитирую, что об этом пишут на сайте php.net:
Принудительное внедрение вредоносных инструкций в SQL-запросы — методика, в которой взломщик создает или изменяет текущие SQL-запросы для работы со скрытыми данными, их изменения или даже выполнения опасных команд операционной системы на сервере базы данных. Атака выполняется на базе приложения, строящего SQL-запросы из пользовательского ввода и статических переменных.