쉘 스크립트를 사용하여 다음 명령을 실행할 수 있습니까?
mysql -u user
use mydb
delete from mydata where row='xx'
답변1
이것은 Documentation의 작업입니다.
mysql -u user << END_CMDS
use mydb
delete from mydata where row='xx'
END_CMDS
문서 여기에 SQL을 스크립트 자체에 포함시키는 방법이 있습니다. 사용자 ID의 MySQL 비밀번호가 어떻게 작동하는지 잘 모르겠습니다. 사용자에게 비밀번호가 있는지 확인해야 합니다.
쉘 스크립트에서 호출을 들여쓸 수 있지만 mysql
"document here"로 끝나는 태그(위 예에서 END_CMDS)는 들여쓰지 마십시오.
답변2
이 명령은 다음을 수행하는 데 도움이 될 수 있습니다.
mysql -u user -p mydb --execute="행='xx'인 mydata에서 삭제"
답변3
내 스크립트 중 일부를 확인하는 데 관심이 있을 수도 있습니다.신화 TV 도구웹 페이지. 이는 쉘 스크립트에서 mysql 명령을 실행하고 getopt 옵션 구문 분석(예: 여러 WHERE 절 사용)을 기반으로 적당히 복잡한 mysql 명령을 작성하는 아주 좋은 예입니다.
둘 다 동일한 기본 기술을 사용하여 SQL 문자열을 구성하고 mysql
or 에 연결합니다 mysql --batch
.
시스템의 모든 사용자가 명령줄 옵션에서 로그인 및 비밀번호를 검색 (또는 실행 )하고 볼 수 있으므로 이들 중 어느 것도 --user
또는 옵션을 사용하지 않습니다. 대신 로그인 자격 증명이 포함된 파일의 존재 에 의존합니다 .--password
/proc
ps
~/.my.cnf