source

mysql: SOURCE 오류 2?

gigabyte 2022. 9. 6. 22:19
반응형

mysql: SOURCE 오류 2?

파일, .sql 파일)에 대한 때,'metropolises.sql'이전에 작성해서 데이터베이스에서 저장한 다음 오류가 표시됩니다.

'metropolises' 파일을 열지 못했습니다.sql', 오류: 2

뭐가 잘못됐는지 알아?

텍스트 파일에서 SQL 문을 실행하기 위해 명령어를 사용한다는 것을 의미한다고 가정하면 지정된 오류 번호는 POSIX 계층에서 전달된 것으로 간주됩니다.

따라서 이 리소스를 사용하여 오류 값 2는 "그런 파일 또는 디렉토리가 없음"을 의미함을 추론할 수 있습니다.

요컨대 길을 잘못 들었군요.

MySQL 서버의 컨텍스트에서 현재 작업 디렉토리가 무엇인지 확실하지 않으므로 절대 경로를 제공하십시오.셸의 작업 디렉토리라고 생각할 수도 있지만, 이것이 사실이라고 기대할 수 있는 것은 아닙니다.

파일의 절대 경로를 사용한 다음 백슬래시 대신 정방향 슬래시를 사용하십시오.

예제:

source C:\folder1\metropolises 를 사용합니다.sql
슬래시 포함: 소스 C:/folder1/metropolises.sql

도커 내부에서 MYSQL을 사용하는 경우

도커 내부에서 MySQL을 실행하는 경우 먼저 덤프를 MySQL 도커 환경으로 복사해야 합니다.그러기 위해서는, 다음의 순서에 따릅니다.

  1. 먼저 MySQL 도커의 컨테이너 ID를 확인하고 복사합니다.

    sudo docker ps

  2. 다음을 사용하여 SQL 덤프 파일을 컨테이너에 복사합니다.

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

    이렇게 하면 도커 내부의 다른 디렉토리/경로 내에 파일을 복사하려면 'MysqlDocker' 뒤에 있는 '/'를 대체하십시오.ID:'는 원하는 경로와 함께 표시됩니다.

  3. 실행 중인 컨테이너 내에서 MySQL과 상호 작용하려면 다음 명령을 실행합니다.

    sudo docker exec -it MysqlDockerID bin/bash

  4. 이제 터미널을 사용하여 MySQL에 연결합니다.

    mysql -u yourUserName -p

    이것으로 패스워드를 입력하도록 요구됩니다.계속하려면 올바른 암호를 입력하십시오.

  5. 사용할 수 있는 데이터베이스 목록:

    show Databases;

    사용 가능한 데이터베이스가 나열됩니다.

  6. 덤프를 가져올 데이터베이스 이름을 'MyDatabase'로 가정합니다.다음 방법으로 전환:

    use MyDatabase

  7. 이제 다음과 같이 입력하여 파일을 가져올 수 있습니다.

    source file.sql

    위의 명령어는 루트 폴더에 파일을 복사한 경우(2단계 사용)에 기능합니다.다른 경로에 복사한 경우 동일한 경로를 대신 사용하십시오.

파일 경로일 수 있습니다.사용할 파일의 정확한 위치를 모를 경우 Finder에서 파일을 찾은 후 Terminal 창으로 끌어다 놓습니다.

mysql> SOURCE dragfilePathHere 

관련 문제: 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 이후):

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

올바른 파일 경로를 입력해야 합니다.

8. 5. Server 8.1 'mysql 5.7.9 MySQL Community Server(GPL)'를 삭제해야 .;파일 경로 뒤에 있습니다.

: " " "E:/jokoni/db/Banking/createTables.sql;

소스 " " " "E:/jokoni/db/Banking/createTables.sql하지 않고 를 앞으로 이동한다 ('슬래시')

vagrant를 사용하는 경우 파일이 서버에 있는지 확인하고 파일 경로를 사용하십시오. 예를 들어 파일이 공용 폴더에 저장되어 있는 경우

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

여기서 xxx는 파일 이름입니다.

다음 쿼리를 사용하여 mysql 명령줄에서 다음 오류가 발생했습니다.

source `db.sql`;

위의 내용을 다음과 같이 변경하여 작업을 수행하였습니다.

source db.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.

이 문제가 발생했는데 wamp 서버를 사용하여 mysql을 실행하는 경우 wamp64 폴더 내의 파일 경로를 사용해야 합니다. 절대 다음과 같은 :C:/wamp64/www/foldername/filename.sql 해서 여러분이 할 '그러다' 입니다.www/foldername/filename.sql

사용하는 파일 이름 또는 경로가 올바르지 않을 수 있습니다.

제 시스템에서 abcd 파일을 만들었습니다.sql(c:\)

명령어 「」를 하고 있습니다.mysql> source c:\abcd.sql 나는 .

8 Debian 8(Jessie) Linux를 사용해 .cd「」에 합니다.'metropolises.sql'.를 실행합니다mysql를 실행합니다.SOURCE ./metropolises.sql;

기본적으로 상대 경로를 시도합니다.이거 해봤는데 잘 되네.

공식 도커 이미지 레지스트리에 있는 것과 같은 도커라이즈드 MySQL 컨테이너를 실행하고 있는 경우:https://hub.docker.com/_/mysql/ 이 문제도 발생할 수 있습니다.

저는 파일이 공유 드라이브에 있고 어떤 이유로든 해당 경로에 액세스할 수 없었기 때문입니다.파일을 잘라 공간이 없는 경로에 있는 로컬 드라이브에 저장했더니 해결되었습니다.

명령어 소스를 사용하여 sql 파일 경로를 드래그 앤 드롭으로 지정했을 때 동일한 오류가 발생하였습니다.

그런 다음 기본적으로 파일 확장자 앞에 있는 작은 따옴표를 삭제하면 작동했습니다.따옴표를 삭제하면 작동했습니다.

솔루션:

source /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;

나에게 해결책은 Windows에서의 파일 권한이었다.모든 사용자에게 파일의 모든 권한을 부여하기만 하면 됩니다.Import 후 권한을 이전 상태로 되돌립니다.

경로에 있는 폴더(디렉토리) 이름 중 하나에 공백이 있어서 Mac에서 문제가 발생했습니다.참고로 공간은 a에 의해 탈출되었지만 mySQ에 의해 인식되지 않았습니다.l

해결책 - 1) 고객님이 고객님의root앱의 폴더입니다.예를 들어 app/db/sql.sql 입니다.

해결책 - 2) 창의 폴더를 열고 드래그합니다.&&키워크 옆에 있는 명령줄에서 드롭하다source(스페이스) 파일소스예: 소스 사용자/myMAC/app/db/schema.sql

Xubuntu 데스크탑에서 이 문제가 발생합니다.파일 경로에 공간이 없도록 모든 파일 및 폴더의 이름을 변경하여 수정했습니다.

전체 경로를 전달해도 오류가 발생하지 않지만 폴더에 MySQL 공간이 있으면 .sql 파일을 인식하지 않습니다.OS UNIX 상에서 MySQL 8.0.21을 사용하고 있습니다.

Windows에서도 같은 에러가 발생합니다.MySQL 명령줄에서 코드를 실행하면서 해결했습니다.

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

경로의 폴더 이름에서 공백을 제거합니다. mac 경로에서 작동했습니다.

(예: MySQL Server 5.1 폴더 이름을 MySQL Server 5.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;

언급URL : https://stackoverflow.com/questions/14684063/mysql-source-error-2

반응형