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