当我尝试获取特定的 .sql 文件时,即'metropolises.sql'
我之前从数据库创建并保存的文件,会显示以下错误:
无法打开文件“metropolises.sql”,错误:2
知道出了什么问题吗?
当我尝试获取特定的 .sql 文件时,即'metropolises.sql'
我之前从数据库创建并保存的文件,会显示以下错误:
无法打开文件“metropolises.sql”,错误:2
知道出了什么问题吗?
只需使用文件的绝对路径,然后使用正斜杠而不是使用反斜杠。
例子:
带反斜杠:源 C:\folder1\metropolises.sql
带正斜杠:源 C:/folder1/metropolises.sql
如果您在 Docker 内部使用 MYSQL
请注意,如果您在 docker 中运行 MySQL,那么您必须首先将转储复制到您的 MySQL docker 环境中。为此,请按照以下步骤操作
首先,通过以下方式检查并复制 MySQL docker 的容器 ID:
sudo docker ps
使用以下命令将 SQL 转储文件复制到您的容器中:
sudo docker cp /path/to/sql/file.sql MysqlDockerID:/
如果您想将文件复制到 docker 内的任何其他目录/路径中,这会将转储文件复制到 docker 根文件夹中,将“MysqlDockerID:”之后的“/”替换为您想要的适当路径。
现在要在正在运行的容器中与 MySQL 交互,请运行以下命令:
sudo docker exec -it MysqlDockerID bin/bash
现在通过以下方式使用终端连接到 MySQL:
mysql -u yourUserName -p
这将要求您输入密码。输入正确的密码以继续。
列出可用的数据库:
show Databases;
这将列出可用的数据库
假设您要将转储导入到的数据库名称是“MyDatabase”。切换到使用:
use MyDatabase
现在您可以通过键入以下内容来导入文件:
source file.sql
如果您已将文件复制到根文件夹(使用步骤 2),请记住上述命令有效。如果您已将其复制到任何其他路径,请确保使用相同的路径
相关问题 我在运行源命令时遇到错误 2:即使文件名或文件路径中包含空格,文件名也不能用引号引起来。
它可能是您文件的文件路径。如果您不知道要使用的文件的确切位置,请尝试在 Finder 中找到您的文件,然后将文件拖到终端窗口中
mysql> SOURCE dragfilePathHere
我首先到达文件
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之后)解决了它:
mysql> SOURCE C:/users/xxx/xxxx/metropolises.sql;
确保键入正确的文件路径
如果您使用 vagrant,请确保该文件位于服务器上,然后使用该文件的路径。例如,如果文件存储在公用文件夹中,您将拥有
sql> source /var/www/public/xxx.sql
其中 xxx 是文件名
在我的 windows 8.1 和 mysql 5.7.9 MySQL Community Server (GPL) 上,我必须删除;
文件路径后面的。
这失败了:来源E:/jokoni/db/Banking/createTables.sql;
这有效:源E:/jokoni/db/Banking/createTables.sql
(没有终止,并且在路径中使用正斜杠而不是 Windows 的反斜杠)
我在使用此查询的 mysql 命令行中收到此错误:
source `db.sql`;
我将上面的内容更改为以下内容以使其工作:
source db.sql;
我遇到了这个问题,事实证明,如果您使用 wamp 服务器运行 mysql,则必须使用 wamp64 文件夹中的文件路径。所以当绝对路径是:C:/wamp64/www/foldername/filename.sql
你必须使用的路径是:
www/foldername/filename.sql
在我的 Mac 上,这是唯一对我有用的解决方案。
https://stackoverflow.com/a/45530305/5414448
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.
可能是您使用的文件名或路径可能不正确
在我的系统中,我在 c:\ 创建了文件 abcd.sql
并使用命令mysql> source c:\abcd.sql
然后我得到了结果
对于 Mac 用户,您可以将路径指定为,
source /Users/YOUR_USER_NAME/Desktop/metropolises.sql;
*我假设您需要的文件source
在您desktop
的文件中,文件名是metropolises.sql
如果你键入,
source metropolises.sql
然后文件将在默认位置查找,
/Users/YOUR_USER_NAME/metropolises.sql;
传递完整路径不会出错,但如果文件夹有 MySQL 空格,则它无法识别 .sql 文件。我在 OS UNIX 上有 MySQL 8.0.21。
对我来说,这是因为该文件位于共享驱动器上,并且由于某种原因无法访问该路径。我剪切了文件并将其放在我的本地驱动器上的一个没有空格的路径中,它得到了解决。
解决方案 - 1)确保您位于root
应用程序的文件夹中。例如 app/db/schema.sql。
解决方案 - 2) 打开/显示窗口上的文件夹,然后在 keywork ( space&&
) 文件源旁边的命令行中拖放。例如源用户/myMAC/app/db/schema.sqlsource
当我使用命令源并通过拖放它给出sql文件路径时,我得到了同样的错误。
然后我只需要删除默认情况下通过拖放出现的那些单引号,文件扩展名之前的一个空格,它就可以工作了。
解决方案:
source /home/xyz/file .sql ;(路径和文件扩展名前的空格)
我的解决方案是 Windows 中的文件权限。只需将文件的完全控制权交给所有用户,它就会起作用。导入后,将权限恢复到之前的状态。
我的 Mac 出现问题,因为路径中的一个文件夹(目录)名称中有一个空格。顺便说一句,空间被 \ 转义了,但 mySQL 不理解
如果您使用的是 Debian 8 (Jessie) Linux,请尝试cd
进入'metropolises.sql'
. 运行mysql
并执行SOURCE ./metropolises.sql;
基本上,尝试相对路径。我试过这个并且它有效。
我在我的 Xubuntu 桌面上遇到了这个问题。我通过重命名所有文件和文件夹来修复它,因此文件路径中没有空格。
删除路径文件夹名称中的空格,它适用于我的 mac 路径。
(例如:将文件夹名称 MySQL Server 5.1 更改为 MySQLServer5.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;