명령줄에서 mysql을 통해 단일 쿼리를 실행하려면 어떻게 해야 합니까?
스크립트로 작성된 태스크에서 리모트서버에서 단일 쿼리를 실행할 수 있는 것을 검토하고 있습니다.
예를 들어, 직감적으로 다음과 같이 됩니다.
mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
mysql -u <user> -p -e 'select * from schema.table'
(셸이 *를 파일명으로 확장하지 않도록 큰따옴표가 아닌 작은따옴표를 사용합니다).
mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;"
사용현황 인쇄물:
-e,--execute=name
종료합니다」 「비활성화」」(「Disable(비활성화」--forcehistory file을 참조해 주세요.
다음은 멋진 셸 트릭으로 할 수 있는 방법입니다.
mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users'
'<<'는 셸에 에코로부터의 파이핑과 마찬가지로 그 뒤에 오는 것을 stdin으로 받아들이도록 지시합니다.
테이블 형식 출력을 활성화하려면 -t 플래그를 사용합니다.
자주 실행하는 쿼리의 경우 파일에 저장할 수 있습니다.실행하려는 경우 언제든지 다음을 수행합니다.
mysql < thefile
(물론 모든 로그인 플래그와 데이터베이스 플래그 포함)
echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production
질문 컨테이너화는 그다지 인기가 없었기 때문에 @RC의 답변에 따라 앤서블을 사용하여 하나의 쿼리를 도커라이즈된 데이터베이스 클러스터에 전달합니다.
ansible <host | group > -m shell -a "docker exec -it <container_name | container_id> mysql -u<your_user> -p<your_pass> <your_database> -e 'SELECT COUNT(*) FROM my_table;'"
Ansible을하지 않을 하여 Ansible을 사용하십시오.docker exec -it ...syslog.syslog.
MySQL은 일반 텍스트로 자격 증명을 전달하는 것이 안전하지 않을 수 있다는 경고를 보내므로 위험에 유의하십시오.
서 mysql 페이지 man "display" :
You can execute SQL statements in a script file (batch file) like this:
shell> mysql db_name < script.sql > output.tab
를 「」에 넣습니다.script.sql행해해실
언급URL : https://stackoverflow.com/questions/1602904/how-do-you-run-a-single-query-through-mysql-from-the-command-line
'programing' 카테고리의 다른 글
| 날짜 문자열을 날짜로 구문 분석하는 방법 (0) | 2022.10.31 |
|---|---|
| PHP의 'post_max_size'를 초과하는 파일을 정상적으로 처리하는 방법은 무엇입니까? (0) | 2022.10.31 |
| (서드파티 라이브러리를 사용하지 않고) Node.js로 파일을 다운로드하는 방법 (0) | 2022.10.31 |
| 설치 스크립트가 종료되어 오류: 'x86_64-linux-syslog-gcc' 명령이 실패했으며 종료 상태가 1입니다. (0) | 2022.10.31 |
| Python에서 텍스트 파일의 파일 내용을 지우려면 어떻게 해야 하나요? (0) | 2022.10.31 |