Mysqldump робимо бекап бази даних і потім відновлюємо БД з бекапу, FreeBSD, Mac OS X, Debean,
Для більшості невеликих баз даних ідеально працюватиме команда mysqldump: mysqldump -uroot -p database > database.sql
Якщо потрібно вказати віддалений хост, то додамо -h192.168.1.10 або --host=192.168.1.10 , де 192.168.1.10 — IP віддаленого хоста. Для локального цей параметр можна упустити.
-uroot (або --user=root ) – вказуємо користувача. -p або --password
database – ім'я бази даних для бекапу, а database.sql – ім'я файлу для бекапу. Якщо в один файл потрібно включити кілька баз даних, використовуйте ключ -B .
Якщо вам потрібно зробити бекап всіх доступних баз даних, то використовуйте ключ -A (або --all-databases ):
mysqldump -uroot -p -A > all-databases.sql
Корисні ключі для mysqldump
--complete-insert, -c – Використовується повна форма оператора INSERT (з іменами стовпців).
--create-options – Додає додаткову інформацію до операторів CREATE TABLE. Це може бути тип таблиці, початкове значення AUTO_INCREMENT та інші параметри.
--disable-keys, -K – Для кожної таблиці оточує оператор INSERT виразами /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; та /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; у виведенні результату дампа. Це прискорить завантаження даних на сервер для таблиць типу MyISAM, оскільки індекси створюються після внесення всіх даних.
--extended-insert, -e – Використовувати команду INSERT з новим багаторядковим синтаксисом (підвищує компактність та швидкодію операторів введення).
Інші ключі є у man.
Відновлення бази даних з бекапу
Мені більше подобається спосіб розгортання бекапу через mysql-консоль, так як за замовчуванням відображається інформація провиконаних команд і можна побачити помилку (якщо вона є): mysql -uroot -p mysql> use database; mysql> source database.sql
Так само можна і таким способом: mysql -uroot -p database