"Bash에서 MySQL 사용"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 7개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;Bash에서 MySQL 접근
;Bash에서 MySQL 접근
;Bash에서 원격으로 MySQL 쿼리 수행
;Bash에서 원격으로 MySQL 쿼리 수행
;리눅스 쉘에서 MySQL 쿼리


==로컬==
==로컬==
;명령어
;명령어
<source lang='bash'>
<syntaxhighlight lang='bash'>
mysql -u아이디 -p패스워드 디비명 -e "쿼리문"
mysql -u아이디 -p패스워드 디비명 -e "쿼리문"
</syntaxhighlight>
<syntaxhighlight lang='bash'>
echo "쿼리문" | mysql -u아이디 -p패스워드 디비명
echo "쿼리문" | mysql -u아이디 -p패스워드 디비명
</source>
</syntaxhighlight>


;실행예시
;실행예시
<source lang='dos'>
<syntaxhighlight lang='console'>
[root@jmnote ~]# mysql -uroot -pP@ssw0rd mysql -e "SHOW TABLES"
[root@zetawiki ~]# mysql -uroot -pP@ssw0rd mysql -e "SHOW TABLES"
+---------------------------+
+---------------------------+
| Tables_in_mysql          |
| Tables_in_mysql          |
20번째 줄: 23번째 줄:
| user                      |
| user                      |
+---------------------------+
+---------------------------+
</source>
</syntaxhighlight>
<source lang='dos'>
<syntaxhighlight lang='console'>
[root@jmnote ~]# echo "SHOW TABLES" | mysql -uroot -pP@ssw0rd mysql
[root@zetawiki ~]# echo "SHOW TABLES" | mysql -uroot -pP@ssw0rd mysql
Tables_in_mysql
Tables_in_mysql
columns_priv
columns_priv
28번째 줄: 31번째 줄:
... (생략)
... (생략)
user
user
</source>
</syntaxhighlight>


==원격==
==원격==
;명령어
;명령어
<source lang='bash'>
<syntaxhighlight lang='bash'>
mysql -h서버주소 -u아이디 -p패스워드 디비명 -e "쿼리문"
mysql -h서버주소 -u아이디 -p패스워드 디비명 -e "쿼리문"
</source>
</syntaxhighlight>


;실행예시
;실행예시
<source lang='dos'>
<syntaxhighlight lang='console'>
[root@remote ~]# mysql -h111.222.33.44 -uroot -pP@ssw0rd mysql -e "SHOW TABLES"
[root@remote ~]# mysql -h111.222.33.44 -uroot -pP@ssw0rd mysql -e "SHOW TABLES"
+---------------------------+
+---------------------------+
48번째 줄: 51번째 줄:
| user                      |
| user                      |
+---------------------------+
+---------------------------+
</source>
</syntaxhighlight>


==여러 줄 입력==
==여러 줄 입력==
<source lang='bash'>
<syntaxhighlight lang='bash'>
mysql -u아이디 -p패스워드 디비명 <<QUERY
mysql -u아이디 -p패스워드 디비명 <<QUERY
쿼리문
쿼리문
QUERY
QUERY
</source>
</syntaxhighlight>


<source lang='dos'>
<syntaxhighlight lang='console'>
[root@jmnote ~]# mysql -uroot -pP@ssw0rd mysql <<QUERY
[root@zetawiki ~]# mysql -uroot -pP@ssw0rd mysql <<QUERY
> SHOW
> SHOW
> TABLES;
> TABLES;
67번째 줄: 70번째 줄:
.. (생략)
.. (생략)
user
user
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
73번째 줄: 76번째 줄:
*[[Backup.sh]]
*[[Backup.sh]]
*[[Bash용 mysql query 함수]]
*[[Bash용 mysql query 함수]]
*[[HEREDOC]]


==참고 자료==
==참고==
*http://www.linuxquestions.org/questions/linux-general-1/mysql-in-bash-script-916360/
*http://www.linuxquestions.org/questions/linux-general-1/mysql-in-bash-script-916360/
*http://stackoverflow.com/questions/3900496/using-shell-script-to-insert-data-into-remote-mysql-database
*http://stackoverflow.com/questions/3900496/using-shell-script-to-insert-data-into-remote-mysql-database

2021년 4월 13일 (화) 00:11 기준 최신판

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

1 로컬[ | ]

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

2 원격[ | ]

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

3 여러 줄 입력[ | ]

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

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}