ในกรณีที่คุณตั้งค่าโดยไม่ได้ตั้งใจและลืมรหัสผ่านรูทและคุณไม่ต้องการล้างฐานข้อมูลทั้งหมดของคุณและเริ่มต้นใหม่เพราะคุณขี้เกียจและลืมที่จะมีวิธีแก้ปัญหาสำรองไว้และคุณกำลังใช้การติดตั้ง Homebrew ล่าสุด (ฤดูหนาว 2013) ต่อไปนี้เป็นขั้นตอนในการรีเซ็ตรหัสผ่านสำหรับ MySQL
หยุดอินสแตนซ์ MySQL ที่กำลังทำงานอยู่
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
ตอนนี้เริ่ม mysql ด้วยมือข้ามตารางการให้สิทธิ์และเครือข่าย
$(brew --prefix mysql)/bin/mysqld_safe --skip-grant-tables --skip-networking
โปรดทราบว่าหากคุณเรียกใช้echo $ (brew --prefix mysql)และไม่ตอบสนองเป็น"/ usr / local / opt / mysql"ใน bash คุณจะต้องปรับเส้นทางให้เหมาะสม
เมื่อคุณทำเสร็จแล้วตอนนี้คุณควรมีอินสแตนซ์ MySQL ที่ทำงานอยู่และไม่มีการป้องกัน
เข้าสู่ระบบและตั้งรหัสผ่าน
mysql -u root
ที่พรอมต์ป้อนคำสั่ง MySQL ต่อไปนี้เพื่อตั้งรหัสผ่านใหม่สำหรับผู้ใช้ที่ได้รับผลกระทบ
mysql> update mysql.user set password=PASSWORD('new_password_here') WHERE user='root';
หากทุกอย่างเป็นไปตามแผนควรพูดว่า:
Query OK, 1 row affected (0.02 sec)
Rows matched: 4 Changed: 1 Warnings: 0
ออกจากพรอมต์ MySQL
mysql> exit
Bye
หยุดเซิร์ฟเวอร์:
mysqladmin -u root shutdown
ตอนนี้ให้นำการเปิดตัว daemon กลับมาเพื่อให้เรามี MySQL พร้อมอีกครั้ง:
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
ขอแสดงความยินดี คุณเพิ่งรีเซ็ตรหัสผ่านรูท mysql ของคุณ รินกาแฟให้ตัวเองและรับโซลูชันสำรอง!