วิธีใดวิธีหนึ่งที่จะหนีจากเครื่องหมายอัศเจรีย์ในรหัสผ่าน:
$ mysql -umyuser -pone_@&!two
-bash: !two: event not found
การลองแบ็กสแลชที่เห็นได้ชัดไม่ได้ช่วยอะไร:
$ mysql -umyuser -pone_@&\!two
[1] 22242
-bash: !two: command not found
name@domain.com [~]# ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES)
การค้นหา google ของฉันทั้งหมดแนะนำว่าแบ็กสแลชจะช่วยได้ แต่ก็ไม่ได้ ไม่มีวิธีใช้เครื่องหมายคำพูดตามที่แนะนำในคำถามนี้ สายจะถูกใช้ในนามแฝง. bashrc ไม่ต้องกังวลชื่อผู้ใช้และรหัสผ่านที่แสดงเป็นตัวอย่างเท่านั้นและไม่ได้ใช้ในการผลิต!
BTW การใส่รหัสผ่านบนบรรทัดคำสั่งเป็นความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นกับระบบผู้ใช้หลายคน เป็นการง่ายที่จะตรวจสอบ args ของบรรทัดคำสั่งของกระบวนการใด ๆ ที่กำลังทำงานอยู่ ใช้ไฟล์. my.cnf แทน (อย่าลืม
—
cas
chmod 600
)
อุ่ย ว่า
—
cas
'\''
ไม่''\'
ขอบคุณเครก ที่จริงแล้วมันปลอดภัยกว่าทางเลือกอื่น: ส่งสำเนารหัสผ่านให้ทุกคนทางอีเมลซึ่งจะถูกเก็บไว้ที่ใครรู้ โดยส่วนตัวแล้วฉันต้องการให้ผู้พัฒนาแต่ละคนมี
—
dotancohen
/home/user
ผู้ใช้ของตนเองและผู้ใช้ mysql แต่ฉันไม่ใช่ผู้ตัดสินใจในเรื่องนั้น
การจัดการที่ชาญฉลาดและรอบรู้ :)
—
CAS
''\'