Aug 23

เราสามารถสั่งให้ MySQL สามารถใช้ OLD_PASSWORD() เพื่อกำหนดให้ MySQL ใช้รูปแบบการจัดเก็บ password แบบเดิมได้ เช่น

mysql> SET PASSWORD FOR ‘some_user’@'some_host’ = OLD_PASSWORD(‘newpwd’);

หากมี user อยู่แล้ว

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD(‘newpwd’) WHERE Host = ‘some_host’ AND User = ‘some_user’;
mysql> FLUSH PRIVILEGES;
Tagged with:
Aug 23

เอาวิธีแรก ที่ใช้กันง่ายๆก่อนนะ

  • รันด้วย
    /usr/sbin/mysqld –skip-grant-tables –user=root &
  • ต่อจากนั้นก็เข้า
    mysql -u root -p
  • เปลี่ยน password ด้วย
    UPDATE user SET password=password(‘secret’) WHERE user=’root’;
  • restart mysql กลับไปใช้แบบเดิม ก็เป็นอันเสร็จสิ้น

ส่วนวิธีที่สองไปอ่านเจอที่อื่น

  • เพิ่ม “skip-grant-tables” ลงใน my.cnf โดยเพิ่มในส่วนของ [mysqld] สำคัญมากห้ามลืม อย่าใส่ผิดที่ ไม่อย่างนั้นจะไม่สามารถ reset password ได้
  • restart mysql ก่อน เพื่อจะได้มีผล
  • จากนั้นก็ใช้ login แล้วก็ เปลี่ยน password ด้วยคำสั่งข้างต้น
  • พอแก้เรียบร้อยแล้วก็ comment บรรทัด skip-grant-tables แล้วก็ restart ก็เป็นอันเสร็จสิ้น
Tagged with:
preload preload preload