当我尝试为特定的.sql文件(即'metropolises.sql'我以前从数据库创建和保存)的源文件时,显示以下错误:
无法打开文件“ metropolises.sql”,错误:2
知道出了什么问题吗?
Answers:
SOURCE "/var/test.sql";将失败,并显示错误代码2,并且SOURCE /var/test.sql可以正常工作(假设在该位置存在test.sql)。
只需使用文件的绝对路径,然后使用正斜杠代替反斜杠即可。
例:
带有反斜杠:源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步),则上述命令有效。如果您已将其复制到任何其他路径,请确保使用相同的路径来代替
/如果要除根路径以外的其他文件夹,则必须在其中明确创建一个文件夹。不这样做将导致看起来像这样的错误Error: No such container:path: <container_id>:\<folder_name>
在我的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 然后我得到结果
当我使用命令源并通过拖放n给出sql文件路径时,出现了相同的错误。
然后,我只需要删除默认情况下通过拖放出现的那些单引号,即文件扩展名前的空格即可。
溶解
源/ home / xyz / file .sql;(路径和文件扩展名前的空格)
对于Mac用户,您可以将路径指定为
source /Users/YOUR_USER_NAME/Desktop/metropolises.sql;
*我假设您需要的文件source位于中desktop,文件名是metropolises.sql
如果您输入
source metropolises.sql
那么该文件将在默认位置查找,
/Users/YOUR_USER_NAME/metropolises.sql;
解决方案-1)确保您位于root应用程序的文件夹中。例如app / db / schema.sql。
解决方案-2)打开/显示窗口上的文件夹,然后&&在命令行中将键盘拖放到keywork source(space)文件源旁边。例如源User / myMAC / app / db / schema.sql
当我从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;
删除路径的文件夹名称中的空格,它适用于我的mac路径。
(例如:将文件夹名称MySQL Server 5.1更改为MySQLServer5.1)