我正在尝试将经过 gzip 压缩的 SQL 文件直接导入 mysql。这是正确的方法吗?
mysql -uroot -ppassword mydb > myfile.sql.gz
答案1
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database
>
mysql
会将命令的输出写入stdout
文件myfile.sql.gz
,这很可能不是您想要的。此外,此命令会提示您输入 MySQL 用户“root”的密码。
答案2
要在导入 sql.gz 文件时显示进度条,请下载pv
并使用以下内容:
pv mydump.sql.gz | gunzip | mysql -u root -p <database name>
在 CentOS/RHEL 中,您可以使用 安装 pv yum install pv
。
在 Debian/Ubuntu 中,apt-get install pv
。
在 macOS 中,brew install pv
在 Amazon Linux2 中,sudo amazon-linux-extras install epel
然后sudo yum install pv
答案3
最简单的方法是在导入之前解压缩数据库文件。另外正如@Prof. Moriarty 所提到的您不应该在命令中指定密码(系统会要求您输入密码)。此命令取自网页备忘单将一次性解压缩并导入数据库:
gunzip < myfile.sql.gz | mysql -u root -p mydb
答案4
在 macOS 上,我使用了以下命令:
zcat < [Database].sql.gz | mysql -u root -p [Database Name in MySQL]
输入您的密码,瞧!