Bash에서 MySQL 사용

Bash에서 MySQL 접근
Bash에서 원격으로 MySQL 쿼리 수행
리눅스 쉘에서 MySQL 쿼리

1 로컬[ | ]

명령어
Bash
Copy
mysql -u아이디 -p패스워드 디비명 -e "쿼리문"
Bash
Copy
echo "쿼리문" | mysql -u아이디 -p패스워드 디비명
실행예시
Console
Copy
[root@zetawiki ~]# mysql -uroot -pP@ssw0rd mysql -e "SHOW TABLES"
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
... (생략)
| user                      |
+---------------------------+
Console
Copy
[root@zetawiki ~]# echo "SHOW TABLES" | mysql -uroot -pP@ssw0rd mysql
Tables_in_mysql
columns_priv
db
... (생략)
user

2 원격[ | ]

명령어
Bash
Copy
mysql -h서버주소 -u아이디 -p패스워드 디비명 -e "쿼리문"
실행예시
Console
Copy
[root@remote ~]# mysql -h111.222.33.44 -uroot -pP@ssw0rd mysql -e "SHOW TABLES"
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
... (생략)
| user                      |
+---------------------------+

3 여러 줄 입력[ | ]

Bash
Copy
mysql -u아이디 -p패스워드 디비명 <<QUERY
쿼리문
QUERY
Console
Copy
[root@zetawiki ~]# mysql -uroot -pP@ssw0rd mysql <<QUERY
> SHOW
> TABLES;
> QUERY
Tables_in_mysql
columns_priv
db
.. (생략)
user

4 같이 보기[ | ]

5 참고[ | ]

  • CentOS MySQL 설치
    RHEL5.x 버전에서 MySQL-5.5.45 버전 설치시, /usr/bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data 와 같이 설정해 주지 않으면 정상 동작하지 않는 경우가 있었습니다. 확인 바랍니다.
  • MySQL BigDump
    'MySQL server has gone away'는 백업본 전체의 크기가 크다기 보다는, 특정 쿼리문 1개의 크기가 너무 커서 처리를 못하는 거라서, 이런 도구로 해결하기는 어려울 것 같습니다.J Jmnote
  • MySQL STRICT TRANS TABLES
    @Jmnote 감사합니다.~ John Jeong
  • MySQL 외래키 옵션 변경
    진짜 필요한 거였는데 이런걸 이제야 알다니 정말 감사합니다. 문태부
  • MySQL 컬럼명으로 테이블 찾기
    회사 가서 쓰기 좋은 코드 1추 Stly3466