Page tree

Восстановить базу данных вы можете при помощи стандартного инструмента панели управления, описанного в статье "Восстановление из резервной копии".

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

Восстановление базы данных через 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