Резервне копіювання MySQL Server


13

Який найкращий спосіб створити резервну копію сервера MySQL? Я хотів би метод, який не вимагає збиття сервера. Чи потрібне щось гаряче резервне копіювання InnoDB , або я можу просто використовувати засоби резервного копіювання, надані в інструментах MySQL Administrator. Які переваги пропонує один перед іншим?

Відповіді:


12

Ми використовуємо mysqldump, який працює під час роботи MySQL. Ми почали використовувати mysqldump, оскільки це було найпростіше створити, коли наші потреби були невеликими, і, здавалося, вони задовольняли ці потреби. Наші бази даних виросли з того часу, але ми ще не переросли mysqldump. Чи підходить воно вам, буде залежати від розміру ваших баз даних, їх звичайного робочого навантаження та, мабуть, ще багатьох речей.


mysqldump чудовий. На відміну від бінарних дампів деяких інших RDMS, файли mysqldump за замовчуванням генерують текстові файли з повноцінними командами sql - в основному CREATE TABLE заяви та ВСТАВКИ для рядків. Як прості текстові файли, ними можна легко маніпулювати, стискати або шифрувати.
нед

3
mysqldump виходить з ладу, коли у вас є великі бази даних та / або коли ви покладаєтесь на MyISAM. У нас є кілька баз даних 400G з безліччю індексів, які потрібно відновити при імпорті дампа, щоб відновлення після резервного копіювання зайняло дерева днів. Знімок LVM дає значно кращий час відновлення, коли ви переросли mysqldump.
Nils-Anders Nøttseter

4

погляньте на xtrabackup від percona - це цікава відкрита альтернатива mysqlhotcopy для баз даних innodb.

Ви можете прочитати більше про це тут


3

mysqldump можна використовувати, але це не гарантуватиме послідовний набір даних, якщо ви не заблокуєте всі таблиці протягом тривалості дампа. Це дозволить перевести базу даних у режим лише для читання , але забезпечить послідовне скидання.

Ви можете заблокувати таблиці за допомогою команди:

FLUSH TABLES WITH READ LOCK;

І коли ви закінчите, можете випустити замок за допомогою:

UNLOCK TABLES;

7
mysqldump --single-транзакція забезпечить послідовний знімок
Дейв Чейні

5
--sele-транзакція працює лише тоді, коли всі ваші таблиці є InnoDB. Таблиці MyISAM не підтримують транзакції.
Nils-Anders Nøttseter


2

Налаштування реплікації MySQL . У якості бонусу ви отримуєте сервер для виконання великих завдань звітності та mysqldump, не впливаючи на ваш головний виробничий db.


Пам’ятайте, що реплікація може затягнутися, а тому не обов'язково робити своєчасне резервне копіювання вашого майстра.

2
Реплікація не є резервною. Якщо ви випадково видалите щось з головного, раб також видаляє. Раб добре використовувати mysqldump, хоча це не вплине на ваш виробничий сервер (як вже говорив Дейв).
Martijn Heemels


0

Є також інструмент під назвою mysqlhotcopy, який я оглянув одразу, і подумав, що він має багато обіцянок - хоча ніколи його не використовував.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.