Резервне копіювання mysql бази даних

Відео: 1С + MSSQL server: автоматичне створення резервних копій

Як ви знаєте, всі важливі дані ваших сайтів, їх налаштування, статті, коментарі та інша інформація зберігаються в базі даних. Втрата цієї інформації може мати дуже тяжкі наслідки для проекту. Тому важливо своєчасно робити резервні копії бази даних mysql. Також ці копії можуть бути дуже корисними при перенесенні проекту на інший сервер.

У цій інструкції ми розглянемо як можна створювати резервні копії mysql або mariadb бази даних, а також як відновити інформацію в базі з копії. Крім того, ми розберемо як налаштувати автоматичне створення копій через певний проміжок часу.

Створення резервних копій бази даних

Все що вам потрібно для резервного копіювання mysql - це доступ до сервера з операційною системою Linux, на якому встановлено сервер баз даних, а також ім`я бази даних і параметри доступу до неї.

Для експорту інформації з бази даних в форматі SQL можна використовувати утиліту mysqldump. Ось її синтаксис:

$ mysqldump опції імя_бази [Ім`я_таблиці] gt; файл.sql

За замовчуванням утиліта буде виводити все в стандартний висновок, тому нам потрібно перенаправити ці дані в файл, що ми і робимо за допомогою оператора "gt;". Опції вказують параметри аутентифікації і роботи, а ім`я бази і таблиці - дані які потрібно експортувати. Тепер розглянемо коротко опції, які будемо використовувати:

  • -A - копіювати все таблиці з усіх баз даних;
  • -i - записувати додаткову інформацію в коментарях;
  • -c - використовувати імена колонок для інструкції INSERT;
  • -a - включати всі можливі опції в інструкцію CREATE TABLE;
  • -k - відключає первинні ключі на час копіювання;
  • -e - використовувати багаторядковий варіант інструкції INSERT;
  • -f - продовжити навіть після помилки;
  • -h - ім`я хоста, на якому розташований сервер баз даних, за замовчуванням localhost;
  • -n - Хіба ж не писав інструкції для створення бази даних;
  • -t - Хіба ж не писав інструкції для створення таблиць;
  • -d - не писати дані таблиць, а тільки їх структуру;
  • -p - пароль бази даних;
  • -P - порт сервера баз даних;
  • -Q - брати все імена таблиць, баз даних, полів в лапки;
  • -X - використовувати синтаксис XML замість SQL;
  • -u - користувач, обліковий запис якого буде підключатися до бази даних.



У більшості випадків нам досить задати ім`я користуватися, пароль, а також ім`я бази даних. Далі розглянемо приклади роботи з утилітою. Наприклад найпростіша команда експорту бази даних:

$ Head -n 5 data-dump.sql

Але якщо під час створення копії виникнуть будь-які помилки, вони будуть виведені на екран і ви відразу про них дізнаєтеся. Більш складний варіант, це виконати резервне копіювання mysql з іншого хоста, якщо у вас є до нього доступ:

$ Mysqldump -u ім`я_користувача -p імя_бази ім`я_таблиці gt; data-dump.sql


Також, щоб виконувати автоматичне резервне копіювання бази mysql може знадобитися відразу задати пароль, для цього вказуйте його відразу після опції -p, без пробілу:

$ Sudo vi /etc/cron.daily/mysql-backup
/ Usr / bin / mysqldump -u ім`я_користувача -pпароль імя_бази> /backups/mysql-dump.sql

Папку /backups/mysql-dump.sql потрібно замінити на свою папку для резервних копій. Залишилося дати скрипту права на виконання:

$ Chmod ugo + x /etc/cron.daily/mysql-backup

Далі надасть права запускати його щодня і робити копіювання бази mysql. Але є ще один, більш точний спосіб, який дозволяє вказати точний час виконання. Спочатку виконайте команду:

Відео: Як налаштувати мережеве резервне копіювання БД MS SQL Server 2008R2

30 2 * * * / usr / bin / mysqldump -u ім`я_користувача -pпароль імя_бази gt; /backups/mysql-dump.sql

Команда буде виконуватися кожен день, о 2:30, це зручно, оскільки вночі зазвичай менше навантаження на сервер. Як ви зрозуміли, перше число - це хвилини, друге - годинник, третє день, далі тиждень і місяць. Зірочка означає, що цей параметр не має значення.

Відновлення з резервної копії

Відновити резервну копію mysql або mariadb з існуючого SQL файлу теж дуже просто. Оскільки використовувався синтаксис sql ми просто можемо виконати всі команди з допомогою стандартного клієнта mysql.

Спочатку потрібно створити нову базу даних. Для цього увійдіть на mysql сервері з правами суперпльзователя:

mysqlgt; CREATE DATABASE new_database-

Далі закрийте оболонку, натиснувши поєднання клавіш Ctrl + Q і імпортуйте дані з файлу командою:

Поділися в соціальних мережах:

Схожі
Імпорт бази даних в phpmyadminІмпорт бази даних в phpmyadmin
Структура бази данихСтруктура бази даних
Що таке реплікація в mysql?Що таке реплікація в mysql?
Права (привілеї) користувачів в mysqlПрава (привілеї) користувачів в mysql
Управління базами даних в phpmyadminУправління базами даних в phpmyadmin
Pdo. Частина 1.Pdo. Частина 1.
Програми резервного копіювання linuxПрограми резервного копіювання linux
MysqlMysql
Помилка max user connections в mysqlПомилка max user connections в mysql
Помилка 2006 чи server has gone awayПомилка 2006 чи server has gone away
» » Резервне копіювання mysql бази даних