Art*_*yom 69

不,不是.正确的方法是

zcat myfile.sql.gz | mysql -u root -ppassword mydb
Run Code Online (Sandbox Code Playgroud)

注意-p,password如果使用-p语法之间没有空格,请参阅http://dev.mysql.com/doc/refman/5.5/en/mysql-command-options.html#option_mysql_password

  • 注意:请不要将mysql密码放在-p参数中,如前所示.它可能被bash历史记录捕获并在您的服务器上造成安全风险. (9认同)
  • 如果你运行一个有限的bash shell(比如"git bash",缺少zcat)你可能想要使用:`gzip -dc myfile.sql.gz | mysql -u root -ppassword mydb` (7认同)
  • 注意:必须删除-p和密码之间的空格 (5认同)
  • -1,用于在命令行中写入密码。使用“ mysql -u root -p mydb”,它以交互方式询问密码。这样密码就不会保存在bash历史记录中。 (3认同)

Alo*_*ain 13

使用以下命令:

gunzip < databasefile.sql.gz | mysql -u root -p dbname
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的答案,我不知道为什么它没有得到任何赞成。 (3认同)

Sha*_*war 8

  • 您不能password直接在终端中使用,无需使用它,如下所示
zcat YOUR_FILE.sql.gz | mysql -u YOUR_DB_USERNAME -p YOUR_DATABASE_NAME
Run Code Online (Sandbox Code Playgroud)
  • 按回车键,当终端要求您输入密码时,输入您的密码并希望一切正常。


小智 8

直接、清晰:

gunzip -c myfile.sql.gz | mysql -uroot -ppassword mydb

gunzip 的 -c 选项写入标准输出,保留原始文件

注意:您不应将密码直接放在命令中。最好只提供 -p 而不是以交互方式输入密码。