개발로 자기계발
728x90

여기서 사용할 파일 이름은

- employees.sql

- employees.sh

현재 포스팅에서는 비밀번호를 쳐서 MySQL에 접속하지만 비밀번호를 기초 설정을 하고 싶다면 추가 링크를 참고!

기초 설정을 한 이후에는 -u yoursername -p, yourpassword 등을 할 필요가 없다.

 

MySQL 쉘에서 스크립트 실행:

MySQL 쉘을 열고 MySQL 쉘에서 직접 SQL 스크립트를 실행하는 방법이다.

mysql -u yourusername -p
Enter password: ****

mysql> source {/your_path}/employees.sql

위 명령어를 실행하면 yourusername을 MySQL에 로그인하는 데 사용하는 사용자 이름으로 변경하고 password에는 DB의 비밀번호를 작성한다.

/path/to/your/employees.sql는 실행하려는 SQL 파일의 절대 경로를 나타낸다.

 

MySQL에 직접 SQL 파일 리다이렉트:

이 방법은 MySQL 쉘에 직접 로그인하지 않고 SQL 스크립트를 실행하는 방법이다.

mysql -u yourusername -p database --host=localhost < /path/to/your/employees.sql

위 명령어에서 yourusername와 yourpassword는 MySQL에 로그인하는 데 사용하는 사용자 이름과 비밀번호이다.

localhost는 MySQL 서버가 동작하고 있는 호스트 이름이며, /path/to/your/employees.sql는 실행하려는 SQL 파일의 절대 경로를 나타낸다.

 

Window에서는 cmd에서 진행해야 하며 Powershell에서는 "<" 기호가 먹지 않는다.(예시)

mysql.exe -u root -p reldb --host=localhost < "C:/Program Files/MySQL/employees.sql"

 

쉘 스크립트를 통한 SQL 스크립트 실행:

이 방법은 Bash 쉘 스크립트를 통해 SQL 스크립트를 실행하는 방법이다. 먼저, 다음과 같은 Bash 스크립트(employees.sh)를 작성한다.

vi employess.sh

mysql -u yourusername -p database < /path/to/your/employees.sql
or
mysql --host=localhost < $1

그러고 나서, 스크립트에 실행 권한을 주고 스크립트를 실행한다.

chmod u+x employees.sh
$ bash employees.sh employees.sql

 

cat 명령어를 통한 SQL 스크립트 실행:

이 방법은 Unix/Linux의 cat 명령어를 이용하여 SQL 스크립트를 MySQL로 파이프 하는 방법이다.

$ cat /path/to/your/employees.sql | mysql -u yourusername -p database

이 명령어는 employees.sql 파일의 내용을 MySQL 프로그램에 전달한다. 여기서 yourusername와 yourpassword는 MySQL에 로그인하는 데 사용하는 사용자 이름과 비밀번호이다.

 

Window에서 명령어(예시)
PowerShell은 경로에 공백이 있을 때 이를 인식하지 못하기 때문에 파일 경로를 따옴표로 묶어야 한다.

cat "C:\Program Files\MySQL\employess.sql" | .\mysql.exe -u root -p reldb
or
Get-Content "C:\Program Files\MySQL\employess.sql" | .\mysql.exe -u root -p reldb

이 4가지 방법 모두 MySQL 서버에 SQL 스크립트를 실행하는 방법이지만, 사용하는 방식과 상황에 따라 적합한 방법이 달라질 수 있다. 한 가지 주의할 점은 이러한 명령어를 사용할 때는 항상 MySQL 사용자 이름과 비밀번호가 포함되기 때문에 보안에 주의해야 한다.
728x90
SMALL
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)