Xubuntu 16.04 및 mysql 5.7 서버를 설치했습니다.
나는 이름으로 간단한 스크립트를 만듭니다 mysql-wrapper
:
#!/bin/bash
mysql -u myuser -pmypwd mydatabase --table $*
이제 명령을 실행하고 성공적으로 실행합니다.
mysql-wrapper -e "STATUS"
그런 다음 다음 명령을 실행하십시오 (공백 포함).
mysql-wrapper -e "SHOW TABLES"
문제가 발생합니다 : mysql은 불법 명령으로 mysql을 실행하는 것처럼 명령에 대한 도움말을 인쇄합니다.
내 문제를 어떻게 해결할 수 있습니까? 아니면 별칭을 더 잘 사용할 수 있습니까?
나는 시도 : \ ".. \"와 ' "...'"와 '\ "... \"'와 \ " '...'\", 이제 성공 :-(
—
Yura Shinkarev
-pmypwd
프로세스 목록에 비밀번호 일반 텍스트가 표시됩니다. 추가 한 안전 경고가 표시 될 수 있습니다 (mysql -pmypwd
은 5.6 또는 5.7에서 메소드를 비활성화했습니다 ). my,cnf
비밀번호를 저장하는 데 사용 합니다. "STATUS"는 항상 작동하지만 "SHOW TABLES"는 데이터베이스를 설정 한 경우에만 작동합니다.
@Rinzwind, yes my.cnf에서 사용자를 구성 할 수는 있지만 어쨌든 모든 스크립트에 대한 특정 인수가 있습니다 (예 : --table, 나중에 다른 것을 추가 할 수 있음). 공통 스크립트에서 mydatabase를 사용합니다. 어쨌든 다음을 실행하십시오 : mysql-wrapper -e "STATUS; STATUS;" -일 이네 그러나 다음에는 작동하지 않습니다. mysql-wrapper -e "STATUS; STATUS;"
—
Yura Shinkarev
mysql-wrapper -e "'SHOW TABLES'"