การกำหนดรหัสผ่านของ phpMyAdmin
การตั้งรหัสผ่านของ root ของ MySQL บนวินโดวส์
เข้าเมนู Start->Run พิมพ์ cmd.exe เพื่อเรียกหน้าต่าง Command Prompt (DOS) ครับ
- พิมพ์ c:\xampp\mysql\bin\mysql -u root mysql กด Enter สำหรับเครื่องที่ไม่เคยตั้งรหัสผ่านมาก่อน ซึ่งจะมีค่าว่างเป็น รหัสผ่านโดยปริยาย (c:\xampp คือ path ของ WebServer ที่ติดตั้งไว้ครับ หากกำหนดไม่เหมือนนี้ให้กำหนดค่านี้ให้ถูกต้องครับ)
- พิมพ์ SET PASSWORD FOR root@localhost=PASSWORD(’newpassword’); กด Enter สำหรับกำหนดรหัสผ่านใหม่ที่ newpassword
- ออกจาก mysql โดยการพิมพ์ quit และกด Enter ครับ
หลังจากที่เรากำหนดรหัสผ่านให้กับ root ของ MySQL แล้ว เราอาจไม่สามารถเข้า phpMyAdmin ได้นะครับ เราจะต้องทำการ config phpMyAdmin ให้ถูกต้องก่อน ถึงจะเข้าได้ครับ
การกำหนด config ให้กับ phpmyAdmin
เปิด C:\xampp\phpMyAdmin\config.inc.php ด้วย Text Editor ดูบรรทัดประมาณนี้
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysql';
ค่าที่เราสามารถกำหนดได้มีดังนี้
$cfg['Servers'][$i]['auth_type'] = 'config';
ค่าที่เป็นไปได้ สำหรับ คำสั่งนี้คือ
- config เป็นค่า default เหมาะสำหรับการใช้งนบน localhost โดยทั่วไป หากใช้งานค่านี้จะไม่มีการถามรหัสผ่านก่อน แต่หากมีการกำหนดรหัสผ่านของ root อาจจะทำให้ไม่สามารถเข้าใช้ phpMyAdmin ได้
- http ถ้าใช้ค่านี้ จะต้องLogin ผ่านหน้าต่าง HTTP Authentication เหมาะสำหรับการใช้งานบน Server ทั่วไปที่มีผู้ใช้หลายคน (multi user)
- cookie ค่านี้จะเหมือนกับ ข้อ 2 คือมีการถามรหัสผ่าน ผ่านหน้าเว็บแบบทั่วๆไป ซึ่งมีข้อแตกต่างที่สามารถจำการ login ผ่าน cookie ได้
$cfg['Servers'][$i]['password'] = '';
ให้กำหนดรหัสผ่านที่ตั้งใหม่ให้กับค่านี้ครับ
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'yourpassword';
$cfg['Servers'][$i]['extension'] = 'mysql';
กำหนด auth_type แบบที่ 2 หรือ 3 และ ใส่รหัสผ่านของคุณแทนที่ yourpassword
หลังจากนี้ให้ restart mysql ใหม่ เพื่อให้การเปลี่ยนแปลงมีผล และทำให้การ login ทุกครั้งต้องผ่านหน้า login ก่อนเสมอ