mysql - 通过命令行将大型 sql 文件导入 MySql

标签 mysql ubuntu

我正在尝试通过 Ubuntu 中的命令行将大约 300MB 的 sql 文件导入 MySql。我用过

source /var/www/myfile.sql;

现在它显示了看似无限的行:

Query OK, 1 row affected (0.03 sec)

但是它现在已经运行了一段时间。我之前没有导入过这么大的文件,所以我只想知道这是否正常,如果进程停止或出现错误,会出现在命令行中还是会无限期地继续?

谢谢

最佳答案

您可以像这样使用标准输入导入 .sql 文件:

mysql -u <user> -p<password> <dbname> < file.sql

注意: <-p> 之间不能有空格和 <password>

引用:http://dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html

建议编辑注意事项:建议编辑稍微更改了此答案以使用内联密码参数。我可以将它推荐给脚本,但您应该知道,当您直接在参数中写入密码 (-p<password>) 时,它可能会被 shell 历史缓存,向任何可以读取历史文件的人显示您的密码。鉴于 -p要求您通过标准输入输入密码。

关于mysql - 通过命令行将大型 sql 文件导入 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483087/

相关文章:

mysql - 在 Sinatra 中使用环境变量设置 database.yml

php - 如何替换 phpMyAdmin 中的整个表格?

mysql - 如何在 mysql 中自连接多个值?

linux - Docker容器中挂载/dev/sda1到/etc/hosts是什么意思

linux - 如何从 bash 从最新到最旧的进程杀死进程

c# - Entity Framework 不保存生产环境中的更改

mysql - 如何复制两个不同的数据库系统?

ruby-on-rails - 用于在 Ubuntu 上进行开发的 Ruby On Rails IDE

ubuntu - 连接到 IBM AS/400 DB2 数据库

python - 在 Ubuntu 上安装了 Python 3.8,但不是默认的