Как загрузить файл sql.gz в мою базу данных? (Импорт)

Я пытаюсь импортировать файл gzipped SQL в mysql напрямую. Правильно ли это?

mysql -uroot -ppassword mydb > myfile.sql.gz
109 голосов | спросил Alex 3 Mayam10 2010, 11:06:09

7 ответов


177
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database

> будет записывать вывод команды mysql в stdout в файл myfile.sql.gz который, скорее всего, не то, что вы хотите. Кроме того, эта команда предложит вам пароль пользователя «root» пользователя MySQL.

ответил joschi 3 Mayam10 2010, 11:10:04
62

Чтобы отобразить индикатор выполнения при импорте файла sql.gz, загрузите pv и используйте следующее:

pv mydump.sql.gz | gunzip | mysql -u root -p

В CentOS /RHEL вы можете установить pv с помощью yum install pv.

В Debian /Ubuntu apt-get install pv.

В MAC, brew install pv

ответил Banjer 3 62012vEurope/Moscow11bEurope/MoscowSat, 03 Nov 2012 23:46:31 +0400 2012, 23:46:31
46

Самый простой способ - распаковать файл базы данных перед импортом. Также, как упоминалось @Prof. Moriarty вы не должны указывать пароль в команде (вам будет предложено ввести пароль). Эта команда, взятая из webcheatsheet , будет распаковать и импортировать базу данных за один раз: /р>

gunzip < myfile.sql.gz | mysql -u root -p mydb
ответил icc97 22 22011vEurope/Moscow11bEurope/MoscowTue, 22 Nov 2011 19:51:39 +0400 2011, 19:51:39
9

Если вы получили сообщение об ошибке zcat, в котором сообщение об ошибке содержит имя файла с дополнительным суффиксом .Z, попробуйте использовать gzcat code>, как описано в https://stackoverflow.com/questions/296717/zcat-wont -unzip-файлы, правильно

ответил Mark Howells-Mead 8 J000000Friday16 2016, 16:59:36
3

Также проверьте, есть ли какой-либо USE-оператор в файле SQL. Указание базы данных в командной строке не гарантирует, что данные попадают туда, если в файле SQL указан другой пункт назначения.

ответил ikso 3 Maypm10 2010, 15:28:17
3

В macOS я использовал это:

zcat < [Database].sql.gz | mysql -u root -p [Database Name in MySQL]

Введите свой пароль и вуаля!

ответил Qasim 28 12016vEurope/Moscow11bEurope/MoscowMon, 28 Nov 2016 10:41:14 +0300 2016, 10:41:14
1

Для сжатых файлов bzip2 (.sql.bz2) используйте:

bzcat <file> | mysql -u <user> -p <database>

ИЛИ

pv <file> | bunzip2 | mysql -u <user> -p <database>

, чтобы увидеть индикатор выполнения.

ответил TimSparrow 1 PM00000060000004931 2018, 18:25:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132