Подтвердить что ты не робот

Синтаксическая ошибка SQL около gunzip при восстановлении базы данных с использованием файла .sql.gz

Я пытаюсь восстановить mysql db, используя файл .sql.gz. Я использую консоль mySql для запуска команды, потому что размер файла слишком большой для phpMyAdmin. Команда, которую я использую,

gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd

где root - это идентификатор пользователя. Для root нет пароля. bd - это база данных, к которой я пытаюсь импортировать. mysql работает на моей локальной машине (Windows 8). У меня есть настройка Wamp.

Это ошибка, которую я получаю:

ОШИБКА 1064 (42000): у вас есть ошибка в синтаксисе SQL; проверить руководство, соответствующее вашей версии сервера MySQL для правильного синтаксис для использования рядом с 'gunzip C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql | mysql -u root -p' в строке 1.

Любая помощь будет принята с благодарностью.

Спасибо и приветствую, Викальп Джайн

4b9b3361

Ответ 1

Если вы наберете gunzip и получите синтаксическую ошибку SQL, которая жалуется на gunzip, , вы уже вошли в консоль mysql. Консоль mysql не является оболочкой общего назначения!

Вы используете Windows, и я подозреваю, что вы не установили gzip на свой компьютер (это не встроенная утилита). Это классический инструмент Unix, но вы можете найти двоичные файлы для Windows. Установите его и запустите свою оригинальную команду с помощью нескольких настроек:

  • Убедитесь, что вы находитесь в приглашении Windows (C:\>)

  • Перенаправить результат gunzip в stdout, а не файл:

    gunzip --stdout C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd
    

В качестве альтернативы вы можете запустить дамп из MySQL promt (mysql>), если сначала распаковать его (вам не требуется специально gzip командной строки, большинство архиваторов графического интерфейса, таких как 7-Zip поддерживает этот формат):

mysql> \. C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql

Ответ 2

Вам нужна опция -c (вывод в stdout)

gunzip -c xxx.sql.gz |mysql -u root -p

Ответ 3

В то время как ответ Kisoft правильный, я просто хотел указать, что вам не нужен -c, он работает отлично. эта команда распакует дамп базы данных и одновременно импортирует его в базу данных.

gunzip < output.sql.gz | mysql -u <username> -p<password> <database>

Ответ 4

Ваш ответ уже здесь.

phpMyAdmin: невозможно импортировать огромный файл базы данных, любые предложения?

В файле php.ini, обычно находящемся в c:\xampp\php или wampp, все, что вы назвали

post_max_size=128M
upload_max_filesize=128M

Меняя значение, вы получите то, что хотите. Хорошая удача Не забудьте перезапустить, apache и mysql.

Ответ 5

вам не нужно ругать просто: zcat myfile.gz | mysql -uuser -ppassword mydatabase это быстрее.

Ответ 6

Попробуйте выполнить следующие шаги для восстановления db с использованием файлов .gz:

1. Run command : gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz

Это распакует файл .gz и просто сохранит beed_2013-04-06.sql в том же месте.

2. Type the following command to import sql data file:
      mysql -u username -p bd < C:/Vik/Gya/Source/beed_2013-04-06.sql