Page tree

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

Через ПУ

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

1. Создайте бэкап базы данных в ее текущем состоянии. После вы сможете его удалить, убедившись, что он больше не требуется.

2. Удалите базу данных в разделе "Базы данных MySQL".

3. Создайте точно такую же базу данных, с таким же именем и паролем.

4. Перейдите в раздел "Резервные копии" панели управления аккаунтом.

5. Выберите вкладку "Базы данных". 

6. Выберите из списка доступную дату с сохраненной резервной копией.

7. Напротив "Восстановить" напротив нужной базы.

8. Подтвердите восстановление, нажав на кнопку "ОК".

Через phpMyAdmin

1. Откройте раздел "Базы данных MySQL" панели управления аккаунтом.

2. Перейдите по ссылке "phpMyAdmin" рядом с именем базы данных, в которую следует загрузить дамп. При переходе понадобится ввести пароль базы данных.

3. В открывшейся панели перейдите в раздел "Импорт", расположенный в верхнем меню.

4. Нажмите на кнопку "Выберите файл" и укажите расположение созданного дампа.

5. После нажатия кнопки "Вперед" таблицы будут загружены в базу данных.

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

1. Откройте раздел "Базы данных MySQL" панели управления аккаунтом.

2. Перейдите по ссылке "phpMyAdmin" рядом с именем нужной базы данных.

3. В открывшейся панели отметьте таблицы, которые необходимо восстановить. 

4. Перейдите в самый низ страницы и нажмите на выпадающее меню "С отмеченными".

5. Выберите вариант "Восстановить таблицу".

Наверх

При подключении по 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

Наверх

  • No labels