4

mysql コマンド ライン クライアントを使用してプロシージャを実行しようとしています。プロシージャhelloworld()は、mysql クエリ ブラウザで正常に実行されています。

クエリ ブラウザで選択されたデータベース スキーム

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

ファイルのパスを指定する必要がありますか?

4

5 に答える 5

1

私の場合、実際の解決策は、ソース ファイルの所有権をusername、マシンにログインしてmysql terminal. CentOS linuxMariaDB/MySQL5.6 で 使用しています。

エラーを削除するために機能したコマンドは次のとおりです。sudo chown username:username sourcefile.sql

mysql:mysqlの代わりに変更してみましusername:usernameたが、使用するまでエラーが続きましたsudo chown username:username sourcefile.sql

于 2014-12-29T21:30:08.847 に答える
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
于 2013-11-08T22:35:53.720 に答える
-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;
于 2016-09-12T05:36:15.873 に答える
-1

ファイルのパーミッションの問題です。

mysql コマンド インターフェイスを実行しているシェルのユーザーではなくmysql プロセスには、ファイルを読み取る権限が必要です。

于 2013-11-08T22:42:05.717 に答える