当我尝试获取特定的.sql文件时,即'metropolises.sql'我之前从数据库创建和保存的文件时,会显示以下错误:
无法打开文件'metropolises.sql',错误:2
知道出了什么问题吗?
Lig*_*ica 89
假设您的意思是尝试使用该source命令从文本文件执行SQL语句,则给出的错误号似乎是从POSIX层传递的.
因此,使用此资源,我们可以推断出错误值2意味着"没有这样的文件或目录".
简而言之,你错了路.
尝试提供绝对路径,因为目前尚不清楚当前工作目录在MySQL服务器的上下文中是什么.您可能认为它是shell的工作目录,但我们应该期望这是真的并不明显.
cha*_*had 33
只需使用文件的绝对路径,然后使用正斜杠代替使用反斜杠.
例:
与反斜杠:源C:\ folder1中\ metropolises.sql
用正斜杠:源C:/folder1/metropolises.sql
Had*_*Mir 13
如果您在 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),则上述命令有效。如果您已将其复制到任何其他路径,请确保使用相同的路径
小智 5
我首先到达文件
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
Run Code Online (Sandbox Code Playgroud)
小智 5
这可能是文件的文件路径。如果您不知道要使用的文件的确切位置,请尝试在Finder中查找文件,然后将文件拖到“终端”窗口中
mysql> SOURCE dragfilePathHere
Run Code Online (Sandbox Code Playgroud)