มันยังคงเป็นเรื่องที่น่าแปลกใจที่ MySQL ไม่สนใจรหัสผ่านที่สับสนในบรรทัดคำสั่งและในบันทึก และนั่นเป็นเหตุผลเดียวที่ฉันเพิ่มคำตอบมากกว่าแค่แสดงความคิดเห็นในคำตอบ @Gilles
ดังนั้นแน่นอนคุณ สามารถเข้าสู่ระบบ MySQL ในฐานะผู้ดูแลระบบและตั้งรหัสผ่านใหม่สำหรับผู้ใช้ blayo ของคุณตามที่ @patrix แนะนำ
อย่างไรก็ตามวิธีมาตรฐานในการทำเช่นนั้นก็คือการใช้ฟังก์ชั่นรหัสผ่านของ MySQL () ซึ่งใช้รหัสผ่านธรรมดาเป็นอาร์กิวเมนต์ (อย่างจริงจัง?)
หากคุณทำเช่นนั้นคุณจะปล่อยรหัสผ่านของผู้ใช้ MySQL ไว้ในประวัติทุบตีและในบันทึก MySQL ของคุณเพื่อให้สามารถเรียกดูได้ง่ายในภายหลังโดยใครก็ตามที่สามารถเข้าถึงไฟล์บันทึกเหล่านั้นได้
มันจะดีกว่าไหมถ้ามียูทิลิตี้เล็ก ๆ น้อย ๆ ที่จะขอรหัสผ่านโดยไม่ต้องสะท้อนไปที่หน้าจอหรือบันทึกของคุณจากนั้นให้แฮชที่เข้ากับ MySQL ได้
ดังนั้นการแก้ไขคำตอบของ @Gilles เพียงเล็กน้อยแล้วเชลล์สคริปต์ตัวเล็ก ๆ ที่ใช้ Python เหมือนดังต่อไปนี้ คุณสามารถแก้ไขสิ่งนี้เพื่อรันคำสั่ง SQL กับฐานข้อมูล MySQL ของคุณเพื่อตั้งรหัสผ่านทั้งหมดในครั้งเดียว แต่ถึงแม้จะไม่ไปไกลเพียงแค่คัดลอกและวางแฮชผลลัพธ์ลงในคำสั่ง SQL เพื่ออัปเดตตารางผู้ใช้:
#!/bin/bash
mysqlpwd=$(/usr/bin/python -c 'from hashlib import sha1; import getpass; print "*" + sha1(sha1(getpass.getpass("New MySQL Password:")).digest()).hexdigest()')
echo $mysqlpwd
blayo
? ซึ่งเร็วกว่าการใช้ชุดอักขระที่เป็นไปได้หลายล้านล้านชุดเพื่อค้นหาชุดที่ถูกต้อง