mysql: SOURCE error 2?

Mysql

Mysql Problem Overview


When I tried to source for a particular .sql file, namely 'metropolises.sql' that I created and saved previously from a database, the following error is displayed:

> Failed to open file 'metropolises.sql', error: 2

Any idea what went wrong?

Mysql Solutions


Solution 1 - Mysql

Assuming you mean that you are trying to use the source command in order to execute SQL statements from a text file, the error number given appears to be passed through from the POSIX layer.

Therefore, using this resource, we can deduce that the error value of 2 means "no such file or directory".

In short, you got the path wrong.

Try providing an absolute path, as it's not clear what the current working directory will be in the context of your MySQL server. You may be assuming that it's the working directory of your shell, but it's not obvious that we should expect this to be true.

Solution 2 - Mysql

Just use the absolute path of the file and then, instead of using backslashes, use forward slashes.

Example:

with backslashes : source C:\folder1\metropolises.sql
with forward slashes : source C:/folder1/metropolises.sql

Solution 3 - Mysql

> #IF YOU ARE USING MYSQL INSIDE DOCKER

Note that if you are running MySQL inside docker then you must first copy the dump into your MySQL docker environment. To do that follow the steps below

  1. First, check and copy the container ID for your MySQL docker by:

    sudo docker ps

  2. Copy the SQL dump file into your container using:

sudo docker cp /path/to/sql/file.sql MysqlDockerID:/

This will copy the dump file into the docker root folder if you want to copy the file inside any other directory/path inside docker replace the '/' after 'MysqlDockerID:' with the path you want appropriate one.

  1. Now to interact with MySQL inside a running container run the following command:

sudo docker exec -it MysqlDockerID bin/bash

  1. Now connect to the MySQL using the terminal by:

mysql -u yourUserName -p

This will now ask you for the password. Enter the correct password to proceed.

  1. List the databases available by:

show Databases;

This will list out the available databases

  1. Assuming your database name where you want to import dump to is 'MyDatabase'. Switch to that using:

use MyDatabase

  1. Now you can import the file by typing:

source file.sql

Remember the above command works if you have copied your file into your root folder (using step 2). If you have copied it to any other path make sure you use that same path instead

Solution 4 - Mysql

Related issue I had getting error 2 running source command: filename must not be in quotes even if it contains spaces in name or path to file.

Solution 5 - Mysql

It's probably the file path to your file. If you don't know the exact location of the file you want to use, try to find your file in Finder, then drag the file into Terminal window

mysql> SOURCE dragfilePathHere 

Solution 6 - Mysql

I first reach to the file

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

Solution 7 - Mysql

I've had the same error on Windows. I solved it with (after on cmd: mysql -u root):

mysql> SOURCE C:/users/xxx/xxxx/metropolises.sql;

Be sure you type the right file path

Solution 8 - Mysql

On my windows 8.1, and mysql 5.7.9 MySQL Community Server (GPL), I had to remove the ; after the file path.

This failed: source E:/jokoni/db/Banking/createTables.sql;

This Worked: source E:/jokoni/db/Banking/createTables.sql (without termination, and forward slashes instead of windows' backslashes in path)

Solution 9 - Mysql

If you are using vagrant ensure that the file is on the server and then use the path to the file. e.g if the file is stored in the public folder you will have

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

Where xxx is the name of the file

Solution 10 - Mysql

I got this error in mysql command line using this query:

source `db.sql`;

I changed the above to the following to make it work:

source db.sql;

Solution 11 - Mysql

On my Mac, this is the only solution worked for me.

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.

Solution 12 - Mysql

I was having this issue and it turns out if you are using wamp server to run mysql, you have to use the file path within the wamp64 folder. So when the absolute path is: C:/wamp64/www/foldername/filename.sql The path you have to use is: www/foldername/filename.sql

Solution 13 - Mysql

May be the file name or path you are used may be incorrect

In my system i created file abcd.sql at c:\

and used command mysql> source c:\abcd.sql Then i got result

Solution 14 - Mysql

If you're on Debian 8 (Jessie) Linux, try to cd into the directory of the 'metropolises.sql'. Run mysql and execute SOURCE ./metropolises.sql;

Basically, try the relative path. I tried this and it works.

Solution 15 - Mysql

If you are running dockerized MySQL container such as ones from this official Docker Image registry: https://hub.docker.com/_/mysql/ You may encounter this issue as well.

Solution 16 - Mysql

For me it was because the file was located on a shared drive and it could not access, for some reason, to that path. I cut the file and put it on my local drive in a path without spaces and it got resolved.

Solution 17 - Mysql

I got the same error when i used the command source and gave the sql file path by drag n dropping it.

Then I just had to remove those single quotes which appeared by default with drag and drop, a space before file extension and it worked.

soln:

source /home/xyz/file .sql ;(path and a space before file extension)

Solution 18 - Mysql

For Mac users, you can give the path as,

source /Users/YOUR_USER_NAME/Desktop/metropolises.sql;

*I have assumed that the file you need to source is in your desktop and the file name is metropolises.sql


If you type,

source metropolises.sql

then the file will be look in the default location,

/Users/YOUR_USER_NAME/metropolises.sql;

Solution 19 - Mysql

The solution for me was file permissions in Windows. Just give full control in the file to all users and it will work. After the import, get the permissions back to what it was before.

Solution 20 - Mysql

I had a problem on my Mac because one of the folder (directory) names in the path had a space in the name. BTW, the space was escaped by a , but that was not understood by mySQL

Solution 21 - Mysql

solution - 1) Make sure you're in the root folder of your app. eg app/db/schema.sql.

solution - 2) open/reveal the folder on your window and drag&&drop in the command line next to keywork source (space) filesource. eg source User/myMAC/app/db/schema.sql

Solution 22 - Mysql

I get into this problem in my Xubuntu desktop. I fixed it by renaming all my files and folders so there is no space in the file path.

Solution 23 - Mysql

Passing the full path does not error, but if the folders have MySQL spaces it does not recognize the .sql file. I have MySQL 8.0.21 on OS UNIX.

Solution 24 - Mysql

I've got the same error on Windows. I solved it running the code on MySQL command line

source c:\Users\xx\Downloads\data_file.sql

Solution 25 - Mysql

Remove spaces in the folder names of the path, It worked for my mac path.

> (Eg: change the folder name MySQL Server 5.1 to MySQLServer5.1)

Solution 26 - Mysql

I also got the same message when I try from the MySQL console. However, when I open the command prompt and do the same steps it works.

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;

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionClueless GorillaView Question on Stackoverflow
Solution 1 - MysqlLightness Races in OrbitView Answer on Stackoverflow
Solution 2 - MysqlchadView Answer on Stackoverflow
Solution 3 - MysqlHadi MirView Answer on Stackoverflow
Solution 4 - Mysqluser1906580View Answer on Stackoverflow
Solution 5 - MysqlrocketTheCatView Answer on Stackoverflow
Solution 6 - Mysqluser3030395View Answer on Stackoverflow
Solution 7 - MysqlAlex_AleluiaView Answer on Stackoverflow
Solution 8 - MysqlLivePwndzView Answer on Stackoverflow
Solution 9 - MysqlIbrahim IsaView Answer on Stackoverflow
Solution 10 - MysqlLpgfmkView Answer on Stackoverflow
Solution 11 - MysqlAndrew RhyneView Answer on Stackoverflow
Solution 12 - Mysqlcraft9861View Answer on Stackoverflow
Solution 13 - MysqlFathah Rehman PView Answer on Stackoverflow
Solution 14 - MysqlT. WebsterView Answer on Stackoverflow
Solution 15 - MysqlDevyView Answer on Stackoverflow
Solution 16 - MysqlCamiloView Answer on Stackoverflow
Solution 17 - Mysqlmaithri poojaryView Answer on Stackoverflow
Solution 18 - MysqlNadun KulatungeView Answer on Stackoverflow
Solution 19 - MysqlRicardo BRGWebView Answer on Stackoverflow
Solution 20 - MysqlRobView Answer on Stackoverflow
Solution 21 - MysqlAnand ChaudharyView Answer on Stackoverflow
Solution 22 - MysqlprincebillyGKView Answer on Stackoverflow
Solution 23 - MysqlGazzellaView Answer on Stackoverflow
Solution 24 - MysqlTusar AhmedView Answer on Stackoverflow
Solution 25 - MysqlLoganathanView Answer on Stackoverflow
Solution 26 - Mysqlsubhendu dasView Answer on Stackoverflow