บทช่วยสอนทีละขั้นตอนเพื่อเรียนรู้วิธีการกู้คืนรหัสผ่านรูทของเซิร์ฟเวอร์ SQL
ผู้ใช้เซิร์ฟเวอร์ที่สำคัญที่สุด mysql เป็นผู้ใช้อย่างแน่นอน “root“- ผู้ใช้รายนี้มีทุกอย่าง สิทธิพิเศษของผู้ดูแลระบบ สำหรับฐานข้อมูล (MySQL databases-
ในกรณีที่คุณไม่ทราบรหัสผ่านของผู้ใช้รูท MySQL คุณจะต้องทำตามขั้นตอนง่ายๆ ไม่กี่ขั้นตอนเพื่อรีเซ็ตรหัสผ่านนี้
บทช่วยสอนนี้จัดทำขึ้นสำหรับเซิร์ฟเวอร์ MySQL ที่ติดตั้งบนระบบปฏิบัติการ centosแต่กระบวนการจะเหมือนกันสำหรับลีนุกซ์รุ่นอื่นๆ
วิธีการกู้คืนรหัสผ่านสำหรับรูทผู้ใช้ของ SQL Server
ในการกู้คืนรหัสผ่านสำหรับผู้ใช้รูทของเซิร์ฟเวอร์ SQL วิธีที่ง่ายที่สุดคือโดย SSH (Secure Shell)-
1. เราเข้าสู่ระบบด้วยผู้ใช้ “root” ไปยังระบบที่เซิร์ฟเวอร์ MySQL อยู่ (ผู้ใช้รูทของระบบ ไม่ใช่เซิร์ฟเวอร์ MySQL) เข้าสู่ระบบโดยตรงจากคอนโซลหรือจากระยะไกลผ่านการเชื่อมต่อ สช (ลูกบาศ์ก สีโป๊ว บนระบบ Windows)
2. หยุดกระบวนการ / เซิร์ฟเวอร์ MySQL
service mysqld stop
หรือ
/etc/init.d/mysqld stop
ผลลัพธ์จะเป็น:
Stopping MySQL: [ OK ]
3. เราเริ่มต้นเซิร์ฟเวอร์ MySQL ด้วยตัวเลือก “--skip-grant-tables“- การเริ่มกระบวนการเซิร์ฟเวอร์/เดมอน MySQL โดยไม่ต้องใช้รหัสผ่าน
mysqld_safe --skip-grant-tables &
ผลลัพธ์หลังจากบรรทัดคำสั่งด้านบน:
[1] 3041
[root@server ~]# Starting mysqld daemon with databases from /var/lib/mysql
4. เราเชื่อมต่อกับเซิร์ฟเวอร์ mysql กับผู้ใช้ “root“โดยใช้คำสั่ง:
mysql -u root
ผลการสั่งซื้อ:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
5. เลือกฐานข้อมูล mysql และตั้งรหัสผ่านใหม่สำหรับผู้ใช้ “root“-
use mysql;
update user set password=PASSWORD("New_Password") where User='root';
flush privileges;
quit
ผลลัพธ์จากคำสั่งข้างต้น:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=PASSWORD("123456") where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
[root@server ~]#
6. เราหยุดและรีสตาร์ทบริการ / เซิร์ฟเวอร์ MySQL
service mysqld stop
service mysqld start
ผลลัพธ์:
Starting MySQL: [ OK ]
ภาพด้านล่างแสดงทุกอย่าง กระบวนการรีเซ็ตรหัสผ่าน เว็บไซต์ผู้ใช้ “root” ของเซิร์ฟเวอร์ MySQL-

ตอนนี้เราสามารถเชื่อมต่อกับ MySQL ได้ (ผ่าน phpmyadmin เช่น) กับผู้ใช้ “ราก”โดยใช้รหัสผ่านใหม่ที่ตั้งไว้ข้างต้น
บทช่วยสอนทดสอบ centos 5.6 cu MySQL เวอร์ชัน 14.12 Distrib 5.0.77 สำหรับ redhat-linux-gnu (i686) โดยใช้ readline 5.1