我想在MySQL中执行一个包含SQL查询的文本文件。

我试着运行source /Desktop/test。SQL和收到的错误:

mysql >。回家\ \ sivakumar桌面\ \测试。sql ERROR:无法打开文件 ' \ \ sivakumar \电脑\测试。Sql ',错误:2

你知道我哪里做错了吗?


当前回答

给出.sql文件的路径:

source c:/dump/SQL/file_name.sql;

其他回答

从命令行直接传递password参数永远都不是一个好习惯,它保存在~/。Bash_history文件,可以从其他应用程序访问。

用这个代替:

mysql -u user --host host --port 9999 database_name < /scripts/script.sql -p
Enter password:

使用下面的mysql命令提示符-

source \\home\\user\\Desktop\\test.sql;

不要使用报价。即使路径包含空格(' '),也不要使用引号。

我犯了这个错误,我尝试了所有我能得到的建议,但都无济于事。

最后,问题是我的文件夹在文件夹名称中有一个空格,在文件夹路径中出现正斜杠,一旦我找到并删除它,它就工作得很好。

很可能,你只需要改变斜杠/黑斜杠: 从

 \home\sivakumar\Desktop\test.sql

to

 /home/sivakumar/Desktop/test.sql

因此,命令将是:

source /home/sivakumar/Desktop/test.sql

而不是重定向,我会做以下事情

mysql -h <hostname> -u <username> --password=<password> -D <database> -e 'source <path-to-sql-file>'

这将执行文件path-to-sql-file