mysql 쿼리를 실행하는 방법에는 다양한 방법이 존재합니다. Show 가장 기본적인 방법으로는 아래와 같이 mysql에 접속하여 명령어를 입력하는 방법이 있습니다. * mysql에 접속하여 쿼리 실행(참고)
.
하지만 동일하게 select version(); 이라는 mysql 쿼리를 쉘 스크립트 안이나 리눅스 command line에서 사용하고 싶으면 어떻게 해야할까요? 쉘 스크립트나 command line에서 mysql 쿼리를 실행하는 방법은 두가지 방법이 있습니다. (이하 쉘 스크립트와 command line의 사용방법이 같기 때문에 두개를 합쳐서 커맨드라인이라고 부르겠습니다.) | 쉘 스크립트 및 커맨드라인에서 mysql 쿼리 실행| mysql 5.5 이하 버전첫번째는 -e 옵션을 이용하여 처리하는 방법이 있다.#mysql -u계정 -p비밀번호 -e "실행하고싶은_명령어" 예를 들어보면
하지만 mysql: [Warning] Using a password on the command line interface can be insecure. 와 같은 경고문구가 뜹니다. 제가 알기로는 5.5 이하 버전을 쓰시면 이런 문구가 안 뜰것이고, 그 이후 버전에는 보안이 강화되어 저런 경고문구가 뜨는 것으로 압니다. 대충 command line에 패스워드를 사용하는 것은 안전하지 않다 이런 뜻 인것 같네요. mysql 5.5 이후 버전을 사용하시는데 이런 문구가 보기 싫으신 분들은 아래와 같이 패스워드를 미리 입력하고 필요할 때 호출하여 사용하는 방법입니다. | mysql 5.5 이후 버전위의 2가지 순서를 진행해 주시면 됩니다. 1) 패스워드 미리 입력 후 호출
참고 : https://nirsa.tistory.com/121 2) mysql -uroot -p -> mysql –login-path=root 사용 위의 명령어로 패스워드를 미리 입력했으면 mysql -uroot -p 대신에 mysql –login-path=root를 사용하시면 됩니다. 예를 들면 아래와 같이 사용하시면 됩니다.
위의 경고문구가 안 뜨는 것을 확인할 수 있습니다. 두번째는 파일에 쿼리를 입력하여 실행하는 방법이 있다.예를 들어볼까요. 1) 실행하고 싶은 sql문 file을 만든다.
위와 동일하게 버전을 보는 명령어와, database의 목록을 보는 명령어 그리고 테스트용으로 1을 확인하는 명령어를 넣어주었습니다.
2) sql 파일 실행하기 mysql < 사용하고_싶은_쿼리파일 방법으로 실행합니다. 위에서 마찬가지로 5.5 이전버전은 mysql -uroot -p를 사용하시는 것을 추천하고 5.5 이후버전을 사용하셔서 mysql: [Warning] Using a password on the command line interface can be insecure의 문구가 보기 싫으신분들은 동일하게 mysql --login-path=root를 사용하시면 됩니다. | 5.5 이하 버전
| 5.5 이후 버전
mysql –login-path=root를 처음 사용하시는 분들은 아래와 같은 명령어로 패스워드를 미리 저장해야하는 것을 잊지 마시기 바랍니다!
첫번째 방법은 간단한 쿼리를 사용할 때, 두번째 방법은 복잡한 쿼리나 여러가지 쿼리를 사용해야 할 때 이용하는게 좋겠죠 😊 | 쉘 스크립트에 적용해보기쉘 스크립트에도 동일하게 적용하시면 됩니다. 아래 쉘 스크립트는 mysql 5.7 버전을 처음 설치하고 난 후 임시 패스워드를 받아 패스워드를 변경하는 쉘 스크립트를 작성한 것입니다. 가끔 --connect-expired-password 와 관련 에러가 나와 옵션을 끝에 추가해주었습니다. mysql 5.7 첫 설치 후 임시 패스워드 받아 패스워드 변경하기
| 쉘 스크립트 작성시 사용한 문법 및 참고사항* login path 사용법1.mysql 설정 에디터 도움말
2. 로그인 path 생성 mysql_config_editor set --login-path=설정_이름--host=주소 --user=아이디 --port=포트 –password
3.설정된 로그인 path 확인 print 라는 옵션을 사용합니다 😊 1)모두 확인
2) 특정 로그인 path 확인 mysql_config_editor print --login-path=설정_이름
4. 로그인 path 삭제 mysql_config_editor remove --login-path=설정_이름
5. mysql 로그인 설정 파일 위치 linux unix 계정의 경우 로그인 계정의 홈 디렉토리에 생성됩니다. 파일이 숨겨져있기 때문에 ls -al과 같은 숨긴 폴더를 보는 옵션을 넣어야 합니다. 또한 파일은 암호화 되어있습니다.
참고 : http://www.irgroup.org/mysql-login-path/ |