วันศุกร์ที่ 22 มกราคม พ.ศ. 2553

แก้ไขการจำรหัสผ่านของ root ใน MySQL-server บน Ubuntu ไม่ได้(Ubuntu MySQL lost root password)

หากคุณจำรหัสผ่านของฐานข้อมูล MySQL บน Server Ubuntu หรือ Debian ไม่ได้ มีวิธีแก้ไขโดยที่ไม่ต้องปิดเครื่อง Server

โดยการใช้ debian-sys-maint MySQL user สำหรับการรีเซตรหัสผ่านของ root
ก่อนอื่นเราต้องหารหัสผ่านของ debian-sys-maint MySQL user
โดยการเข้าไปที่
/etc/mysql
root@lmmrtech.com:/# cd /etc/mysql


จากนั้นเปิดดูข้อความในไฟล์ debian.cnf โดยคำสั่ง(หรืออาจเป็น editor ที่ถนัด)
cat debian.cnf
root@lmmrtech.com:/etc/mysql# sudo cat debian.cnf # Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = NoWayBud socket = /var/run/mysqld/mysqld.sock
ในไฟล์จะมีรหัสผ่านบอกไว้ให้ทำการ copy ไว้

ต่อมาจะทำการเข้าสู่ฐานข้อมูล MySQL โดย debian-sys-maint MySQL user
คำสั่ง
mysql -u debian-sys-maint -p
กด enter จะให้ใส่รหัสผ่าน จากนั้นเราก็ทำการวางรหัสผ่านที่ copy เอาไว้
root@lmmrtech.com:/etc/mysql# mysql -u debian-sys-maint -p Enter password: NoWayBud Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 30 Server version: 5.0.45-Debian_1ubuntu3.1-log Debian etch distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
เท่านี้ก็จะเข้าสู่ mysql ได้แล้ว จากนั้นก็ทำการเปลี่ยนรหัสผ่านของ User root
โดยใช้คำสั่ง SQL นี้
SET PASSWORD FOR root@'localhost' =PASSWORD('รหัสผ่านใหม่ของroot')
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('MyNewPasswd')

ที่มา : http://lmmrtech.com/node/28