it-swarm.com.ru

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

Я пытаюсь восстановить базу данных mysql с помощью файла .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.

Любая помощь будет оценена.

Спасибо и всего наилучшего, Викальп Джайн

11
Vikalp Jain

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

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

  1. Убедитесь, что вы в Windows Prompt (C:\>)

  2. Перенаправить результат gunzip в стандартный вывод вместо файла:

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

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

mysql> \. C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql
4
Álvaro González

Вам нужна опция -c (вывод на стандартный вывод)

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

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

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

вам не нужно делать сжатие просто: zcat myfile.gz | mysql -uuser -ppassword mydatabaseit так быстрее

1
Mirel

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

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

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

post_max_size=128M
upload_max_filesize=128M

Изменение значения даст вам то, что вы хотите. Удачи Не забудьте перезагрузить, Apache и MySQL.

1
Wayne Tun

Попробуйте выполнить следующие шаги для восстановления БД с использованием файлов .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
0
kd12