mysql server 5.0命令行客户端无法打开文件.sql

时间:2013-11-08 18:15:36

标签: mysql sql stored-procedures

我正在尝试使用mysql命令行客户端来执行一个过程。程序helloworld()在mysql查询浏览器中正常运行。

在查询浏览器中选择的db方案

DELIMITER $$
DROP PROCEDURE IF EXISTS helloworld$$
CREATE PROCEDURE helloworld()
BEGIN
SELECT 'helloworld';
END$$

当我call helloworld()时,它会返回helloworld。我将过程保存为helloworld.sql保存在桌面

中的SQL SCRIPT FILE ANSI .sql中

现在我正在尝试从cmd客户端访问保存在桌面上的.sql文件,并提供成功连接的密码

现在我输入

ENTER PASSWORD:******
Your Mysql connection id is 43
Server Vesion 5.5.24

mysql> SOURCE helloworld.sql
ERROR failed to open file helloworld.sql Error 2

我应该提供文件的路径吗?

5 个答案:

答案 0 :(得分:1)

尝试:

/path/to/file/helloworld.sql:

USE `yourdb`;

DELIMITER $$

DROP PROCEDURE IF EXISTS `helloworld`$$

CREATE PROCEDURE `helloworld`()
BEGIN
  SELECT 'helloworld';
END$$

DELIMITER ;

然后从命令行尝试:

Your Mysql connection id is 43
Server Vesion 5.5.24

mysql> SOURCE /path/to/file/helloworld.sql

答案 1 :(得分:1)

在我的情况下,解决方案实际上是将源文件的所有权更改为登录到计算机并通过username运行命令的用户的mysql terminal。我在MariaDB / MySQL5.6中使用CentOS linux

用于删除错误的命令是:sudo chown username:username sourcefile.sql

我也尝试将其更改为mysql:mysql而不是username:username,但错误仍然存​​在,直到我使用sudo chown username:username sourcefile.sql

答案 2 :(得分:0)

我遇到了类似的问题。解决方案对我有用

sudo chown root:root /Full/path/to/sqlfile.sql
Sudo su;
mysql -u root -p < /Full/path/to/sqlfile.sql

如果将来有人帮助。

答案 3 :(得分:-1)

这是文件许可问题。

mysql进程运行mysql命令界面的shell用户需要读取文件的权限。

答案 4 :(得分:-1)

当我尝试从mysql控制台执行操作时,我也得到了相同的消息,但是当我打开命令提示符并执行相同的步骤时,它的工作状态不会出现任何错误

C:\Users\SubhenduD>cd ../

C:\Users>cd ../

C:\>cd \xampp\mysql\bin


C:\xampp\mysql\bin>mysql -u -root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 68
Server version: 5.6.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> use balticktravels;

mysql> source balticktravels.sql;