Як експортувати й імпортувати велику базу MySQL через SSH
Для великої бази командний клієнт може бути зручнішим за phpMyAdmin, оскільки не залежить від часу веб-запиту. Потрібні SSH-доступ і права користувача БД.
Експорт поза веб-каталогом
Замініть хост, користувача та назву бази своїми значеннями. Пароль вводиться у відповідь на запит, а не записується в команду:
umask 077
mkdir -p ~/private-backups
cd ~/private-backups
mysqldump -h localhost -u account_dbuser -p --single-transaction --quick --no-tablespaces account_db > site.sql
Каталог ~/private-backups має бути поза document root усіх ваших сайтів. Не зберігайте дамп у public_html. --single-transaction придатний для узгодженого знімка InnoDB, але не гарантує узгодженості MyISAM; під час експорту не змінюйте структуру таблиць. Для активного магазину узгодьте консистентний фінальний експорт.
Перевірте копію
Дочекайтеся завершення без помилок, перевірте розмір і протестуйте імпорт в окрему базу. Порожній або неповний файл не є резервною копією. Якщо потрібні процедури, події чи спеціальні права, узгодьте додаткові параметри з адміністратором; не надавайте зайві глобальні права заради експорту.
Імпорт на новому сервері
Спочатку створіть цільову базу й користувача через cPanel. Перед імпортом збережіть наявну базу: SQL-дамп може перезаписати її таблиці. Завантажте файл захищеним способом і виконайте:
mysql -h localhost -u account_dbuser -p account_db < site.sql
Перевірте помилки, кодування та роботу застосунку. Імена команд можуть бути mysql/mysqldump або mariadb/mariadb-dump залежно від сервера. Приберіть зайві серверні копії лише після перевірки й збереження потрібного архіву.
Документація
Від інструкції — до налаштування
Умови та можливості відповідної послуги — на основному сайті UAhosting.
Переглянути послугу