[an error occurred while processing this directive]

Бэкап больших MyISAM таблиц без длительной блокировки в MySQL
mysqldump лочит таблицы на запись и во время дампа база фактически простаивает.
Решения:

1. Репликация и бэкап со слейва;

2. mysqlhotcopy,  делает "read lock" на и копируются файлы баз, т.е.:

    FLUSH TABLES WITH READ LOCK;
    // копировать файлы MyISAM таблиц
    UNLOCK TABLES;

FLUSH TABLES WITH READ LOCK может занять много времени т.к. он будет ждать
окончания выполнений всех запущенных запросов.

3. Минимизация блокировки через использование снапшотов ФС:
   FLUSH TABLES WITH READ LOCK;
   Делаем снэпшот ФС, где лежат базы мускула
   UNLOCK TABLES;
   Копируем директории с базой или отдельные таблицы
   Отцепляем снэпшот

Скрипт для Linux (использует LVM снапшот): http://lenz.homelinux.org/mylvmbackup/
Cкрипт для FreeBSD:
   (echo "FLUSH TABLES WITH READ LOCK;"; echo "\! ${MOUNT} -u -o snapshot /${SNAPPART}/.snap/backup /${SNAPPART}"; echo "UNLOCK TABLES;" ) |
    ${MYSQL} --user=root --password=`${CAT} ${MYSQLROOTPW}`
 
11.04.2007 , Автор: jabrusli , Источник: http://community.livejournal.com/ru...
Ключи: mysql, backup, snapshot, myisam
Раздел:    Корень / Программисту и web-разработчику / SQL и базы данных / MySQL специфика / Оптимизация и администрирование MySQL

[an error occurred while processing this directive]

[an error occurred while processing this directive]