Назад | Перейти на главную страницу

Как сделать резервную копию MySQL (mysqldump) при установленном Memcached?

Операционная система сервера - CentOS с установленным Memcached.

До установки Memcached я использовал

mysqldump -u root -p --lock-tables --add-locks --disable-keys --skip-extended-insert --quick wcraze > /var/backup/backup.sql

Но теперь Memcached установлен.

Согласно Википедии;

Когда таблица заполнена, последующие вставки вызывают очистку старых данных в порядке наименее использованных (LRU).

Это означает, что новая запись данных не сохраняется напрямую в MySQL, а вместо этого сохраняется в Memcached, пока limit_maxbytes заполнено, наименее доступные данные будут сохранены в MySQL.

Это означает, что некоторые данные находятся не в MySQL, а в Memcached. Таким образом, при резервном копировании новой записи нет в данных резервной копии.

Как правильно делать резервную копию?

Memcached не сохраняет данные на диск. Ваше приложение должно использовать Memcached в качестве кеша, а не для какого-либо постоянства. Все данные должны быть в MySQL, поэтому ваша процедура резервного копирования не должна отличаться. Если важные данные хранятся в Memcached, но не в MySQL, то это серьезный недостаток дизайна вашего приложения.

Общий обзор Memcached из MySQL: http://dev.mysql.com/doc/refman/5.1/en/ha-memcached.html