Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql:源错误2?_Mysql - Fatal编程技术网

mysql:源错误2?

mysql:源错误2?,mysql,Mysql,当我试图为一个特定的.sql文件(即我以前从数据库创建并保存的'metropolies.sql')寻找源代码时,显示以下错误: 无法打开文件“metropolies.sql”,错误:2 知道哪里出了问题吗?假设您的意思是试图使用从文本文件执行SQL语句,那么给出的错误号似乎是从POSIX层传递过来的 因此,使用,我们可以推断错误值2表示“没有这样的文件或目录” 简而言之,你走错了路。 尝试提供一个绝对路径,因为不清楚MySQL服务器上下文中的当前工作目录是什么。您可能会假设它是shell的工作目

当我试图为一个特定的.sql文件(即我以前从数据库创建并保存的
'metropolies.sql'
)寻找源代码时,显示以下错误:

无法打开文件“metropolies.sql”,错误:2


知道哪里出了问题吗?

假设您的意思是试图使用从文本文件执行SQL语句,那么给出的错误号似乎是从POSIX层传递过来的

因此,使用,我们可以推断错误值2表示“没有这样的文件或目录”

简而言之,你走错了路。


尝试提供一个绝对路径,因为不清楚MySQL服务器上下文中的当前工作目录是什么。您可能会假设它是shell的工作目录,但我们并不认为这是真的。

可能是您使用的文件名或路径不正确

在我的系统中,我在c:\


使用命令
mysql>source c:\abcd.sql
得到结果

只需使用文件的绝对路径,然后使用向前斜杠,而不是使用反斜杠

示例:

反斜杠的:源C:\folder1\metropolies.sql

使用前斜杠时,我遇到了相关问题,运行source命令时出现了错误2:文件名不能用引号括起来,即使它的名称或文件路径中包含空格。

c:\windows>cd c:\akura\Db Scripts

c:\akura\Db Scripts>mysql -u root -p root

mysql>\. EXECUTER_NEW_USER.sql

here EXECUTER_NEW_USER.sql my file name

我在Windows上也有同样的错误。 我解决了它(在cmd:mysql-u root之后):


确保键入正确的文件路径

删除路径文件夹名称中的空格,这对我的mac路径有效

(例如:将文件夹名MySQL Server 5.1更改为MySQLServer5.1)


我在mysql命令行中使用此查询时遇到此错误:

source `db.sql`;
我将上述内容更改为以下内容以使其正常工作:

source db.sql;

在我的windows 8.1和mysql 5.7.9 mysql社区服务器(GPL)上, 我不得不删除
在文件路径之后

这失败了:source
E:/jokoni/db/Banking/createTables.sql

这起作用了:source
E:/jokoni/db/Banking/createTables.sql
(不带终止符,用前斜杠代替windows在路径中的反斜杠)

如果您使用的是Debian 8(Jessie)Linux,请尝试
cd
进入
'metropolies.sql'
目录。运行
mysql
并执行
SOURCE./metropolies.sql


基本上,尝试相对路径。我尝试了这个方法,效果很好。

如果您正在运行DockerMySQL容器,例如来自此Docker官方图像注册表的容器:您也可能会遇到。

我在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;

它可能是您的文件的文件路径。如果您不知道要使用的文件的确切位置,请尝试在Finder中查找您的文件,然后将文件拖到终端窗口中

mysql> SOURCE dragfilePathHere 

如果您使用的是vagrant,请确保该文件位于服务器上,然后使用该文件的路径。e、 g如果文件存储在公用文件夹中,则

sql> source /var/www/public/xxx.sql

其中xxx是文件名

对我来说,这是因为文件位于共享驱动器上,并且由于某种原因无法访问该路径。
我剪切了文件并将其放在本地驱动器上,路径没有空格,问题得到了解决。

当我使用命令源并通过拖放给出sql文件路径时,我遇到了相同的错误

然后,我只需删除默认情况下使用拖放出现的单引号,文件扩展名之前的一个空格,就可以了

解决方案:


source/home/xyz/file.sql;(路径和文件扩展名前的空格)

对于Mac用户,您可以将路径指定为

source /Users/YOUR_USER_NAME/Desktop/metropolises.sql;
*我假设您需要
源文件
的文件位于您的
桌面
中,文件名为
metropolies.sql


如果你打字

source metropolises.sql
然后文件将在默认位置查找

/Users/YOUR_USER_NAME/metropolises.sql;

我的解决方案是在Windows中设置文件权限。只要将文件中的完全控制权交给所有用户,它就会工作。导入后,将权限恢复到以前的状态。

在我的Mac上,这是唯一适合我的解决方案


1-下载.sql文件并记住它的位置。
2-从命令提示符或终端打开mysql。
3-创建一个与.sql文件中的数据库同名的数据库(创建数据库您的数据库名称)
4-现在退出mysql命令行客户端
5-现在尝试执行此命令=>
mysql-u您的\u用户名-p您的\u数据库\u名称<您的\u sql\u文件\u和\u完成\u位置
示例-mysql-u root-p试用版
我的Mac电脑出现问题,因为路径中的一个文件夹(目录)名称中有空格。顺便说一句,空间被一个\转义了,但mySQL不理解这一点。解决方案-1)确保您位于应用程序的
根文件夹中。例如app/db/schema.sql


解决方案-2)打开/显示窗口上的文件夹,并将
&
拖放到keywork
源文件
(空格)filesource旁边的命令行中。例如source User/myMAC/app/db/schema.sql

我在Xubuntu桌面上遇到了这个问题。我通过重命名我的所有文件和文件夹来修复它,因此文件路径中没有空间

如果您在DOCKER内部使用MYSQL 请注意,如果您在docker内部运行MySQL,则必须首先将转储复制到MySQL docker环境中。要执行此操作,请执行以下步骤

  • 首先,检查并复制MySQL docker的容器ID
    /Users/YOUR_USER_NAME/metropolises.sql;
    
    
    1 - Download the .sql file and remember it's location.
    
    2 - Open your mysql from command prompt or terminal.
    
    3 - Create a database with the same name as that of the database present in the .sql file (create database your_database_name)
    
    4 - Now exit out from the mysql command line client
    
    5 - Now try and execute this command =>
    
    mysql -u your_username -p your_database_name < your_sql_file_with_complete_location
    
    example -  mysql -u root -p trial < /home/abc/Desktop/trial.sql
    
    here my .sql file is named trial and is present in the desktop, the database is also name trial
    
    6 - You should now have your sql file imported to the corresponding mysql database.