Programming

MySQL에서 SQL 스크립트를 실행하는 방법은 무엇입니까?

procodes 2020. 3. 1. 16:03
반응형

MySQL에서 SQL 스크립트를 실행하는 방법은 무엇입니까?


MySQL에서 SQL 쿼리가 포함 된 텍스트 파일을 실행하고 싶습니다.

나는 달리기를 시도 source /Desktop/test.sql하고 오류를 받았다.

mysql>. \ home \ sivakumar \ Desktop \ test.sql 오류 : '\ home \ sivakumar \ Desktop \ test.sql'파일을 열지 못했습니다 : 오류 : 2

내가 뭘 잘못하고 있는지에 대한 아이디어가 있습니까?


MySQL 명령 줄에 mysql>있는 경우 SQL 파일을로 선언해야합니다 source.

mysql> source \home\user\Desktop\test.sql;

많은 옵션이 있습니다.

  • MySQL 명령 행 클라이언트를 사용하십시오. mysql -h hostname -u user database < path/to/test.sql
  • MySQL GUI 도구를 설치하고 SQL 파일을 연 다음 실행하십시오.
  • 웹 서버를 통해 데이터베이스를 사용할 수있는 경우 phpmysql을 사용하십시오.

다음 명령을 사용하여 텍스트 파일로 작성된 mysql 문을 실행할 수 있습니다.

mysql -u yourusername -p yourpassword yourdatabase < text_file

데이터베이스가 아직 생성되지 않은 경우 먼저 다음을 사용하여 mysql에 로그인하십시오.

mysql -u yourusername -p yourpassword yourdatabase

그때:

mysql>CREATE DATABASE a_new_database_name

그때:

mysql -u yourusername -p yourpassword a_new_database_name < text_file

그렇게해야합니다!

자세한 정보는 여기 : http://dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html


모든 최고의 답변이 좋습니다. 그러나 다만 만일 누군가가 원격 서버에 텍스트 파일에서 쿼리를 실행하고자 AND , 당신은이 작업을 수행 할 수 있습니다 (대신 콘솔에 표시의) 파일에 결과를 저장 :

mysql -u yourusername -p yourpassword yourdatabase < query_file > results_file

이것이 누군가를 돕기를 바랍니다.


가장 좋아하는 옵션은 다음과 같습니다.

 mysql --user="username" --database="databasename" --password="yourpassword" < "filepath"

""로 문자열을 묶을 때 잘못된 경로와 공백으로 인한 실수를 피하고 아마도 내가 경험하지 못한 문자에 대한 더 많은 문제를 피하기 때문에이 방법을 사용합니다.


@elcuco 주석을 사용하면이 명령을 [space]와 함께 사용하여 bash에 기록에 저장하지 말라고 명령하면 대부분의 bash에서 즉시 작동합니다.

여전히 명령을 기록에 저장하는 경우 다음 솔루션을 확인하십시오.

기록에 보관하지 않고 명령 실행


추가 보안 편집

추가 안전을 위해 다음 명령을 사용하고 명령 행 입력에 비밀번호를 입력하십시오.

mysql --user="username" --database="databasename" -p < "filepath"

나는이 답변을 찾기 위해 여기에 왔으며, 여기에 내가 가장 잘 맞는 것을 발견했습니다. 참고 Ubuntu 16.xx를 사용하고 있습니다.

  1. 다음을 사용하여 mysql에 액세스하십시오.

mysql -u <your_user> - p

  1. mysql 프롬프트에서 다음을 입력하십시오.

source file_name.sql

도움이 되었기를 바랍니다.


.sql 파일의 경로를 다음과 같이 지정하십시오.

source c:/dump/SQL/file_name.sql;

이미지 참조 :


mysql> source C:\Users\admin\Desktop\fn_Split.sql

작은 따옴표를 지정하지 마십시오.

위의 명령이 작동하지 않으면 파일을 c : 드라이브에 복사하고 다시 시도하십시오. 아래 그림과 같이,

mysql> source C:\fn_Split.sql

명령 행에서 직접 비밀번호 인수를 전달하지 않는 것이 좋습니다. ~/.bash_history파일에 저장 되며 다른 응용 프로그램에서 액세스 할 수 있습니다.

대신 이것을 사용하십시오 :

mysql -u user --host host --port 9999 database_name < /scripts/script.sql -p
Enter password:

mysql -uusername -ppassword database-name < file.sql

아마도 슬래시 / 블랙 슬래시 만 변경하면됩니다.

 \home\sivakumar\Desktop\test.sql

 /home/sivakumar/Desktop/test.sql

따라서 명령은 다음과 같습니다.

source /home/sivakumar/Desktop/test.sql

mysql 명령 프롬프트 에서 다음을 사용하십시오 -

source \\home\\user\\Desktop\\test.sql;

인용을 사용하지 마십시오. 경로 에 공백 ( '')이 포함되어 있더라도 인용 부호를 전혀 사용 하지 마십시오 .


이후는 mysql -u yourusername -p yourpassword yourdatabase < text_file원격 서버 (아마존의 EC2)에서 작동하지 않았다 ...

데이터베이스가 먼저 작성되어 있는지 확인하십시오.

그때:

mysql --host=localhost --user=your_username --password=your_password your_database_name < pathTofilename.sql

나중에 참조 할 수 있도록 msql 콘솔의 Windows에서 위에서 언급 한 방법과 비교하여 작동하는 것으로 나타났습니다.

mysql >>source c://path_to_file//path_to_file//file_name.sql;

루트 드라이브의 이름이 "c"가 아닌 경우 드라이브 이름과 교환하십시오. 먼저 백 슬래시를 시도하십시오. 작동하지 않으면 슬래시를 시도하십시오. 작동하지 않으면 전체 파일 경로, 파일 이름에 .sql 확장자가 있는지 확인하고 버전이 세미콜론을 요구하는 경우 해당 경로가 있는지 확인한 후 다시 시도하십시오.


리디렉션 대신 다음을 수행합니다.

mysql -h <hostname> -u <username> --password=<password> -D <database> -e 'source <path-to-sql-file>'

이렇게하면 파일 경로-sql-file이 실행됩니다.


그것을하는 많은 방법.

From Workbench: File > Run SQL Script -- then follow prompts

From Windows Command Line:
   Option 1: mysql -u usr -p
             mysql> source file_path.sql
   Option 2: mysql -u usr -p '-e source file_path.sql'
   Option 3: mysql -u usr -p < file_path.sql
   Option 4: put multiple 'source' statements inside of file_path.sql (I do this to drop and recreate schemas/databases which requires multiple files to be run)
             mysql -u usr -p < file_path.sql

명령 행에서 오류가 발생하면 이전에 실행했는지 확인하십시오

cd {!!>>mysqld.exe home directory here<<!!}
mysqld.exe --initialize 

이것은 mysqld.exe 디렉토리 내에서 실행되어야하므로 CD입니다.

이것이 도움이 되길 바랍니다.


나는이 오류가 있었고 아무 소용이 없었던 모든 조언을 시도했다.

마지막으로 문제는 내 폴더에 폴더 이름에 공백이있어 폴더 경로에 슬래시로 표시된다는 것입니다. 찾아서 제거하면 정상적으로 작동합니다.

참고 URL : https://stackoverflow.com/questions/8940230/how-to-run-sql-script-in-mysql



반응형