Импортируйте большой .sql файл в MySQL
Мне был предоставлен большой файл резервной копии mysql ОЧЕНЬ. Это ~ 630 МБ... Я думаю, кто-то думал, что было хорошей идеей хранить изображения в базе данных... В любом случае мне нужно как-то восстановить данные в MySQL. Но я не могу сделать это из-за файлов.
Сначала я попытался сделать это с помощью MySQL Workbench. Но когда я пытаюсь импортировать файл, он вызывает следующую ошибку:
Не удалось выделить байты xxxxx для чтения файла C:\backup.sql
Затем я попытался сделать это через командную строку. Я ввел в cmd
следующее:
C:\> mysql -u user -pPassword database < C:\backups.sql
Это в конечном итоге дает мне следующее предупреждение:
ОШИБКА 2006 (HY000) в строке 68230: сервер MySQL ушел
Угадайте, что также из-за большого размера файла?
У меня нет других идей о том, как восстановить данные. Это все еще возможно?
Ответы
Ответ 1
Увеличение wait_timeout
и/или interactive_timeout
должен помочь. Сначала проверьте текущее значение:
C:\> mysql -hlocalhost -uroot -proot
mysql> SHOW VARIABLES LIKE 'wait_timeout';
Если это очень мало (например, 30 секунд), затем увеличьте его (например, 5 минут):
mysql> SET SESSION wait_timeout = 300;
mysql> SET SESSION interactive_timeout = 300;
Затем выполните ваш SQL файл:
mysql> \. database.sql
Ответ 2
У меня был файл дампа 3.5G, я пытался импортировать его с помощью Workbench PhpMyAdmin и MySql, но безуспешно. Поэтому я просто использовал консоль для ее запуска
# mysql -u user_name -pYour_passwd your_db < your_dump.sql
и он отлично работает