CREATE TABLE newtable LIKE oldtable;
INSERT newtable SELECT * FROM oldtable;
Автор: Sergiy Kamolov
Дата публикации: 2015-07-21T13:51:00.001+03:00
CREATE TABLE newtable LIKE oldtable;
INSERT newtable SELECT * FROM oldtable;
Автор: Sergiy Kamolov
Дата публикации: 2015-07-21T13:51:00.001+03:00
Несколько дней назад, мы столкнулись с проблемой, где сайт пользователя взломали и аккаунт администратора был удален из базы данных. Эта атака закрыла для доступа их сайт. Мы зашли в phpmyadmin и создали нового администратора, чтобы предоставить ему доступ. В данной статье мы расскажем вам, как создать пользователя admin в базу данных WordPress через MySQL. Читать
MySQL: insert … on duplicate key update
Часто ли вы используете данную конструкцию?
Наверняка любой программист, кто мало-мальски связан с вебом (а под «вебом» я понимаю LAMP — Linux Apache MySQL PHP), сталкивался c ситуацией, когда перед вставкой новой записи в БД нужно проверить, а вдруг запись с таким ключом уже есть? И если таковая уже имеется, то надо не вставлять новую, а обновлять старую.
Пример применения простой. У вас есть интернет-магазин и вы периодически синхронизируете свою локальную БД с сайтом. Если товар уже присутствует, надо обновить остаток, а если в БД сайта товара нет, то надо добавить запись. Читать
SELECT table_schema "DB Name", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema ORDER BY Round(Sum(data_length + index_length) / 1024 / 1024, 1) DESC;
#!/bin/bash
# Variables
CNF=/etc/mysql/debian.cnf
BACKUPDIR=/var/backups/mysql/
DATE=`date +%F`
OLDDAYS=7# Main part
for DATABASE in `echo SHOW DATABASES | mysql —defaults-file=${CNF} —skip-column-names`;do
BACKUPNAME=${BACKUPDIR}${DATABASE}.sql.${DATE}
BZBACKUPNAME=${BACKUPNAME}.bz2
echo Dumping ${DATABASE} into ${BZBACKUPNAME}
mysqldump —defaults-file=${CNF} ${DATABASE} > ${BACKUPNAME}; bzip2 -f ${BACKUPNAME}
done# Deleting old backups
find ${BACKUPDIR} -mtime +${OLDDAYS} -delete
Дампит и сжимает базы данных.
Можно (и нужно) добавить его в крон, например:
00 05 * * * root /usr/local/sbin/mysqlbackup.sh
P.S. Ах да, это юбилейный, сотый пост в моём бложике:)
Автор: AlexWinner
Раньше, при разработки сайтов, никогда особо не акцентировал свое внимание на защиту от т.з. «SQL-инъекций». Что это такое думаю много говорить не стоит, просто процитирую, что об этом пишут на сайте php.net:
Принудительное внедрение вредоносных инструкций в SQL-запросы — методика, в которой взломщик создает или изменяет текущие SQL-запросы для работы со скрытыми данными, их изменения или даже выполнения опасных команд операционной системы на сервере базы данных. Атака выполняется на базе приложения, строящего SQL-запросы из пользовательского ввода и статических переменных.