1130 – Host ‘xxxx.local’ is not allowed to connect to this MySQL

How to Allow MySQL Client to Connect to Remote MySQL server

สืบเนื่องจากเคยแนะนำโปรแกรม NaviCat ไปแล้ว คราวนี้หากใครเจอปัญหาข้างต้น ให้รู้เลยว่า สิทธิ์การเข้าถึง ของ user ที่เราใช้ มันไม่พอจะ connect เข้าไปได้

วิธีการแก้ไขก็คือ

$ mysql -u root -p
Enter password:
mysql> use mysql
mysql> GRANT ALL ON *.* to newuser@'%' IDENTIFIED BY 'user-password'; 
mysql> FLUSH PRIVILEGES;

 

คำอธิบาย

GRANT คือคำสั่งสั่งหรับเพิ่ม user ใหม่ให้กับ mysql
ALL คือ การให้สิทธิ์ทุกอย่าง ทั้ง Global ทั้ง user และ table ให้กับ user ชื่อนี้
*.* คือ ทุกฐานข้อมูล ทุกตาราง
to คือ ให้กับ
newuser คือชื่อผู้ใช้ที่ต้องการกำหนด หรือใช้ user เดิมก็ได้ครับ
% คือ กำหนดให้ login มาจากที่ไหนก็ได้ ไม่เหมือน localhost นะครับ หรือใส่เลข host IP
IDENTIFIED BY หมายถึง จากทั้งหมดที่กำหนด การเข้าใช้งานต้องยืนยันรหัสผ่าน ด้วย
user-password คือ รหัสผ่านของ user นั้นที่เรากำหนดลงไปครับผม