Восстановление базы данных

Восстановить базу данных можно с помощью стандартного инструмента в панели управления, а также, при наличии у вас ранее созданной копии (дампа) — через phpMyAdmin или SSH.

Через ПУ

Для восстановления базы данных рекомендуем использовать следующий алгоритм: 

  1. Создайте бэкап базы данных в ее текущем состоянии. После вы сможете его удалить, убедившись, что он больше не требуется.
  2. Удалите базу данных в разделе «Базы данных».
  3. Создайте точно такую же базу данных, с таким же именем и паролем.
  4. Перейдите в раздел «Файлы» — «Резервные копии» панели управления аккаунтом.
  5. Выберите вкладку «Базы данных». 
  6. Выберите из списка доступную дату с сохраненной резервной копией.
  7. Нажмите «Восстановить» напротив нужной базы.
  8. Подтвердите восстановление, нажав на кнопку «ОК».

Через phpMyAdmin

  1. Откройте раздел «Базы данных» панели управления аккаунтом.
  2. Перейдите по ссылке «phpMyAdmin» рядом с именем базы данных, в которую следует загрузить дамп. При переходе понадобится ввести пароль базы данных.
  3. В открывшейся панели перейдите в раздел «Импорт», расположенный в верхнем меню.
  4. Нажмите на кнопку «Выберите файл» и укажите расположение созданного дампа.
  5. После нажатия кнопки «Вперед» таблицы будут загружены в базу данных.

Восстановление отдельных таблиц БД через phpMyAdmin

  1. Откройте раздел «Базы данных» панели управления аккаунтом.
  2. Перейдите по ссылке «phpMyAdmin» рядом с именем нужной базы данных.
  3. В открывшейся панели отметьте таблицы, которые необходимо восстановить. 
  4. Перейдите в самый низ страницы и нажмите на выпадающее меню «С отмеченными».
  5. Выберите вариант «Восстановить таблицу».

При подключении по SSH

Подключитесь к серверу хостинга по SSH и используйте одну из команд ниже.

Между ключами (-u и -p) и следующими за ними параметрами 'база_данных' и 'пароль_базы_данных' не должно быть символа пробела.

  • Для восстановления базы данных из дампа (при условии, что дамп не был сжат и имеет расширение .sql) в SSH-клиенте необходимо выполнить команду:
mysql -u'база_данных' база_данных -p'пароль_базы_данных' < имя_дампа.sql
  • Или:
cat имя_дампа.sql | mysql -u'база_данных' база_данных -p'пароль_базы_данных'
  • Для дампа с расширением .sql.zip необходимо выполнить команду:
unzip -p имя_дампа.sql.zip | mysql -u'база_данных' база_данных -p'пароль_базы_данных'
  • Для дампа с расширением .sql.gz:
zcat имя_дампа.sql.gz | mysql -u'база_данных' база_данных -p'пароль_базы_данных'
  • Для дампа с расширением .sql.bz2:
bzcat имя_дампа.sql.bz2 | mysql -u'база_данных' база_данных -p'пароль_базы_данных'

Возможные ошибки

Процесс прерывается из-за ограничений на хостинге

На тарифах виртуального хостинга Year+, Optimo+, Century+, Millennium+ установлены ограничения на использование процессами процессоров сервера, в связи с чем распаковка тяжелых архивов может завершаться принудительно. В таких случаях (за исключением дампов с расширением .sql.zip) вы можете использовать команду pv, например:

cat имя_дампа.sql | pv -L 2M | mysql -u'база_данных' база_данных -p'пароль_базы_данных'

ERROR #1273: Unknown collation

При импорте может наблюдаться подобная ошибка:

cat имя_дампа.sql | mysql -u'база_данных' база_данных -p'пароль_базы_данных'

ERROR 1273 (HY000) at line 29: Unknown collation: 'utf8mb4_unicode_520_ci'

В этом случае, оставив исходный файл без изменений, создайте копию дампа, заменив в ней строки, отвечающие за Collation и кодировку:

cat имя_дампа.sql | sed 's/utf8mb4_unicode_520_ci/utf8_unicode_ci/g' | sed 's/utf8mb4/utf8/g' > имя_дампа_new.sql

После чего осуществите импорт измененного дампа стандартным способом.

ERROR #1062: Duplicate entry

Может встречаться ошибка:

ERROR 1062 (23000) at line 53: Duplicate entry '1' for key 'PRIMARY'

В этом случае, оставив исходный файл без изменений, создайте копию дампа и внесите в него изменения командой:

cat имя_дампа.sql | sed 's/INSERT/REPLACE/' > имя_дампа_new.sql

После импортируйте измененный дамп, как обычно.

На главную