มันขึ้นว่า #1017 - Can't find file: 'user' (errno: 2)
แปลว่า: หา user ชื่อ ที่คุณจะ grant สิทธิ์ให้นั้นไม่เจอ เลยไม่รู้จะไป grant ให้ใคร
แล้วทำไมหาไม่เจอ ???
ตามปกติแล้วคำสั่งสร้าง user ใน MySQL ต้องประกอบไปด้วย 2 ส่วนเป็นอย่างน้อย ได้แก่
- การสร้าง user
- การให้สิทธิ์การใช้งานแก่ user
แต่จากคำสั่งของ จขกท.
ผมใส่ line นี้เข้าไปที่ sql
GRANT ALL PRIVILEGES ON vanilla. * TO 'dbuser'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION ;
เท่ากับว่า มันมีแค่ "การให้สิทธิ์การใช้งานแก่ user" (ซึ่ง "dbuser" ไม่เคยมีในระบบด้วยสิ เลยขึ้น error แบบนั้น)
ลองใช้ sql นี้น้ะครับ
โค้ด: เลือกทั้งหมด
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON vanilla. * TO 'dbuser'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION ;
Note: ถ้าเป็นมือใหม่จริงๆ ไม่แนะนำให้เขียนคำสั่ง sql ในการสร้าง user เองน้ะครับ (ถ้าไม่อยากลองวิชาจริงๆ) ถ้าเอาชัวร์ๆ ก็ควรใช้ function การจัดการ "สิทธิ" หรือ "Privileges" ใน phpMyAdmin ในการสร้าง user จะสะดวกกว่าครับ