เมื่อฉันพยายามเรียกใช้คำสั่งต่อไปนี้ใน MySQL จากภายใน Terminal:
mysql -u $user -p$password -e "statement"
การดำเนินการทำงานตามที่คาดไว้ แต่จะออกคำเตือนเสมอ:
คำเตือน: การใช้รหัสผ่านบนอินเตอร์เฟสบรรทัดคำสั่งอาจไม่ปลอดภัย
อย่างไรก็ตามฉันต้องทำคำสั่งข้างต้นโดยใช้ตัวแปรสภาพแวดล้อม ( $password
) ที่เก็บรหัสผ่านของฉันเพราะฉันต้องการเรียกใช้คำสั่งอย่างซ้ำ ๆ ในสคริปต์ทุบตีจากภายในเทอร์มินัลและฉันไม่ชอบความคิดในการรอให้ปรากฏขึ้น และบังคับให้ฉันใส่รหัสผ่าน 50 หรือ 100 ครั้งในสคริปต์เดียว ดังนั้นนี่คือคำถามของฉัน:
เป็นไปได้หรือไม่ที่จะระงับคำเตือน? คำสั่งทำงานอย่างถูกต้องตามที่ระบุไว้ แต่หน้าต่างจะดูยุ่งเหยิงเมื่อฉันวนลูปและรันคำสั่ง 50 หรือ 100 ครั้ง
ฉันควรเชื่อฟังข้อความเตือนและอย่าเขียนรหัสผ่านในสคริปต์ของฉัน? หากเป็นเช่นนั้นฉันต้องพิมพ์รหัสผ่านทุกครั้งที่ระบบพรอมต์บังคับให้ฉันทำเช่นนั้นหรือไม่
การวิ่งman mysql
ไม่ได้ช่วยพูดเพียงอย่างเดียว
--show-warnings
ทำให้เกิดคำเตือนที่จะแสดงหลังจากแต่ละคำสั่งถ้ามี ตัวเลือกนี้ใช้กับโหมดการโต้ตอบและแบทช์
และไม่ได้กล่าวถึงวิธีการปิดฟังก์ชั่นหากฉันไม่ได้ทำอะไรสักอย่าง
ฉันใช้ OS X 10.9.1 Mavericks และใช้ MySQL 5.6 จาก homebrew
pexcept
ได้ มันสามารถทำการแทรกเทอร์มินัลและจัดการข้อเสนอแนะที่คำสั่งให้ ด้วยวิธีนี้คุณสามารถข้ามเอาต์พุต verbose และส
[client]
password=my_password
in~/.my.cnf
) แน่นอนว่ามันมีผลกระทบด้านความปลอดภัยเช่นกัน แต่อย่างน้อยก็ไม่สามารถเข้าถึงได้โดยทุกคนที่สามารถเรียกใช้ps
และคุณสามารถควบคุมได้ด้วยสิทธิ์ของไฟล์