ฉันมีดังต่อไปนี้ในของฉัน ~/.my.cnf
[client]
password="somepass"
แต่นี่ไม่ใช่รหัสผ่านที่ฉันใช้สำหรับ user @ host / ฐานข้อมูลทุกตัวที่ฉันเชื่อมต่อ มีวิธีในการระบุรหัสผ่านที่แตกต่างกันสำหรับสิ่งที่แตกต่างกันดังนั้นฉันไม่ต้องพิมพ์รหัสผ่านหรือไม่?
ฉันมีดังต่อไปนี้ในของฉัน ~/.my.cnf
[client]
password="somepass"
แต่นี่ไม่ใช่รหัสผ่านที่ฉันใช้สำหรับ user @ host / ฐานข้อมูลทุกตัวที่ฉันเชื่อมต่อ มีวิธีในการระบุรหัสผ่านที่แตกต่างกันสำหรับสิ่งที่แตกต่างกันดังนั้นฉันไม่ต้องพิมพ์รหัสผ่านหรือไม่?
คำตอบ:
ตามที่ฉันตอบไว้ที่นี่คุณสามารถเพิ่มส่วนสำหรับผู้ใช้แต่ละคน / โฮสต์ / db ที่คุณเชื่อมต่อด้วยการใช้ไวยากรณ์ใน~/.my.cnf:
[clienthost1] # Note: client + host1
user=myuser
password=mypass
database=dbname
host=server.location.com
เมื่อสิ่งนี้อยู่ในผู้ใช้ของ.my.cnfคุณคุณสามารถใช้มันได้โดยใช้บรรทัดคำสั่ง:
$ mysql --defaults-group-suffix=host1
/etc/mysql/my.cnfแต่มีผู้ใช้กำหนด.my.cnfโดย[client]กำหนดไว้ในส่วนหลังจะแทนที่การตั้งค่าในไฟล์โกลบอล! หุยฮา
xจะอ่านหัวข้อ[client_x]แต่ในความเป็นจริงคุณต้องมีคำต่อท้าย_xสำหรับเรื่องนั้น
ไม่แนะนำให้ใส่รหัสผ่านที่ชัดเจนในไฟล์ข้อความเนื่องจาก mysql 5.6.6
คุณสามารถใช้mysql_config_editorเพื่อบันทึกรหัสผ่านที่เข้ารหัสและให้รหัสผ่านที่แตกต่างกันสำหรับการเชื่อมต่อที่แตกต่างกันhttps://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html
คำตอบอื่น ๆ นั้นถูกต้อง น่าเสียดายที่mysqladminไม่รองรับ--defaults-group-suffix(อย่างน้อยไม่ใช่เวอร์ชั่นที่ฉันใช้)
ดังนั้นฉัน resorted เพื่อใช้--defaults-file=HOST.cnfแทนซึ่งทำงานสำหรับmysql, และmysqladminmysqldump
alias my-host='mysql --defaults-file=HOST.cnf'