MySQL 데이터를 import 할 때 사용하는 명령어
1 | sudo mysql -uuser -p DB_NAME < MYSQL_DUMP.sql | cs |
import 할 데이터 용량이 크다면 nohup 을 이용하자.
1 | nohup sudo mysql -uuser -p DB_NAME < MYSQL_DUMP.sql | cs |
하지만 에러 발생
1 2 3 4 5 6 | user@dev:/home/user# nohup mysql -uuser -p DB_NAME < MYSQL_DUMP.sql > nohup.out [1] 11351 user@dev:/home/user# nohup: redirecting stderr to stdout [1]+ Stopped nohup mysql -uuser -p DB_NAME < MYSQL_DUMP.sql > nohup.out user@dev:/home/user# | cs |
nohup 으로 실행하면 터미널과 연결이 끊어져서 비밀번호를 입력할 수 없기 때문이다. 명령어에 비밀번호를 넣어주자.
1 | user@dev:/home/user# nohup mysql -uuser -pPASSWORD DB_NAME < MYSQL_DUMP.sql > nohup.out | cs |
잘 실행된다.
1 2 3 4 5 6 7 | user@dev:~$ nohup sudo mysql -uuser -pPASSWORD DB_NAME < MYSQL_DUMP.sql > nohup.out & [1] 12596 user@dev:~$ nohup: redirecting stderr to stdout user@dev:~$ [1]+ Done nohup sudo mysql -uuser -pPASSWORD! DB_NAME < MYSQL_DUMP.sql > nohup.out user@dev:~$ | cs |
nohup.out 을 보자. 명령어에 비밀번호를 넣으면 안전하지 않다는 메시지가 있다. 왜?
1 | mysql: [Warning] Using a password on the command line interface can be insecure. | cs |
프로세스를 조회해 보자. 비밀번호가 노출된다. 웁스.
1 2 3 4 5 6 | user@dev:~$ ps -ef | grep mysql mysql 12535 1 95 10:21 ? 00:14:39 /usr/sbin/mysqld root 12614 10891 0 10:25 pts/3 00:00:00 sudo mysql -uuser -pPASSWORD DB_NAME root 12615 12614 2 10:25 pts/3 00:00:15 mysql -uuser -px xxxxxxxx DB_NAME user 12662 10890 0 10:37 pts/1 00:00:00 grep --color=auto mysql user@dev:~$ | cs |
OK, 여기까지. 안전한 방법은 다음 기회로.
0 댓글