การวิเคราะห์เหตุผล:
โฮสต์ 'ท้องถิ่น' ไม่ได้รับอนุญาตให้เชื่อมต่อกับเซิร์ฟเวอร์ MySQL นี้ ปัญหาการอนุญาตระยะไกลทั่วไป
ปมของปัญหา:
MySQL ไม่อนุญาตให้เข้าสู่ระบบระยะไกล ขึ้นอยู่กับว่าเซิร์ฟเวอร์ของคุณใช้ระบบประเภทใด ไม่ว่าจะเป็น Linux หรือ Windows วิธีแก้ไขจะแตกต่างกัน คุณสามารถค้นหาทางออนไลน์และมีข้อมูลมากมายในการแก้ปัญหา
สารละลาย:
มีสองขั้นตอนสำคัญในการเปิดบัญชีเข้าสู่ระบบระยะไกล MySQL:
1. ตรวจสอบให้แน่ใจว่าไฟร์วอลล์บนเซิร์ฟเวอร์ไม่ได้บล็อกพอร์ต 3306
พอร์ตเริ่มต้นของ MySQL คือ 3306 คุณต้องตรวจสอบให้แน่ใจว่าไฟร์วอลล์ไม่ได้บล็อกพอร์ต 3306 ไม่เช่นนั้นคุณจะไม่สามารถเชื่อมต่อกับ MySQL จากระยะไกลผ่านพอร์ต 3306 ได้
หากคุณระบุพอร์ตอื่นเมื่อติดตั้ง MySQL โปรดเปิดหมายเลขพอร์ตที่คุณระบุสำหรับ MySQL ในไฟร์วอลล์
หากคุณไม่ทราบวิธีการตั้งค่าไฟร์วอลล์บนเซิร์ฟเวอร์ของคุณ โปรดสอบถามผู้ดูแลระบบเซิร์ฟเวอร์ของคุณ
2. เพิ่มความสามารถในการอนุญาตการเชื่อมต่อระยะไกลกับผู้ใช้ MySQL และอนุญาตพวกเขา
1) ขั้นแรกให้เข้าสู่ระบบ MySQL ด้วยบัญชีรูท
คลิกเมนู Start บนโฮสต์ Windows เรียกใช้ ป้อน "cmd" เข้าสู่คอนโซล ป้อนไดเร็กทอรี bin ของ MySQL และป้อนคำสั่งต่อไปนี้
ป้อนคำสั่งต่อไปนี้ที่พร้อมท์คำสั่งบนโฮสต์ Linux
คัดลอกรหัสรหัส ดังต่อไปนี้:
> MySQL -uroot -p123456
123456 คือรหัสผ่านของผู้ใช้รูท
2) สร้างผู้ใช้เข้าสู่ระบบระยะไกลและอนุญาต
คัดลอกรหัสรหัส ดังต่อไปนี้:
> ให้สิทธิพิเศษทั้งหมดบน discuz.* ให้กับ ted@'123.123.123.123' ระบุโดย '123456';
ข้อความข้างต้นระบุว่าการอนุญาตทั้งหมดของฐานข้อมูล discuz นั้นมอบให้กับผู้ใช้ ted ผู้ใช้ ted ได้รับอนุญาตให้เข้าสู่ระบบจากระยะไกลที่ที่อยู่ IP 123.123.123.123 และรหัสผ่านของผู้ใช้ ted ตั้งไว้ที่ 123456
มาวิเคราะห์พารามิเตอร์ทั้งหมดทีละตัว:
สิทธิ์ทั้งหมดหมายถึงการให้สิทธิ์ทั้งหมดแก่ผู้ใช้ที่ระบุ นอกจากนี้ยังสามารถแทนที่ได้ด้วยการให้สิทธิ์เฉพาะ เช่น: เลือก แทรก อัปเดต ลบ สร้าง วาง ฯลฯ การอนุญาตเฉพาะจะถูกคั่นด้วย "," ครึ่ง- เครื่องหมายจุลภาคความกว้าง
discuz.* ระบุว่าการอนุญาตข้างต้นเป็นของตารางใด discuz อ้างอิงถึงฐานข้อมูล และ * ต่อไปนี้บ่งชี้ว่าการอนุญาตสำหรับตารางทั้งหมดในฐานข้อมูลทั้งหมดคือ "*.*" และสำหรับทั้งหมด ตารางในฐานข้อมูลทั้งหมด การอนุญาตคือ "*.*" การอนุญาตสำหรับตารางทั้งหมดในฐานข้อมูลหนึ่งคือ "ชื่อฐานข้อมูล*" และการอนุญาตสำหรับบางตารางในฐานข้อมูลหนึ่งคือ "ชื่อฐานข้อมูล ชื่อตาราง" .
ted ระบุว่าผู้ใช้รายใดที่คุณต้องการอนุญาต ผู้ใช้นี้อาจเป็นผู้ใช้ที่มีอยู่หรือไม่มีอยู่ก็ได้
123.123.123.123 ระบุที่อยู่ IP ที่อนุญาตการเชื่อมต่อระยะไกล หากคุณไม่ต้องการจำกัดที่อยู่ IP ของการเชื่อมต่อ เพียงตั้งค่าเป็น "%"
123456 คือรหัสผ่านของผู้ใช้
หลังจากดำเนินการตามคำสั่งข้างต้นแล้ว ให้ดำเนินการคำสั่งต่อไปนี้เพื่อให้มีผลทันที
คัดลอกรหัสรหัส ดังต่อไปนี้:
>สิทธิพิเศษฟลัช;