여기서 사용할 파일 이름은
- 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 사용자 이름과 비밀번호가 포함되기 때문에 보안에 주의해야 한다.
'Database & Data > MySQL' 카테고리의 다른 글
MySQL ON DUPLICATE KEY UPDATE 란? (0) | 2023.06.30 |
---|---|
MySQL 파티셔닝(Partitioning) (0) | 2023.06.28 |
MySQL Root 계정 비밀번호 설정과 확인 방법(mysql_config_editor) (0) | 2023.06.25 |
AWS EC2에 MySQL 8 Community Edition 설치하기 (0) | 2023.06.20 |
[MySQL] 테이블 명세서 추출 쿼리(인덱스 포함) (0) | 2023.06.13 |