วิธีที่ 1:
ลองเข้าสู่ระบบเซิร์ฟเวอร์ MySQL โดยใช้เครื่องมือ MySQL Adminstrator GUI แต่เซิร์ฟเวอร์ตอบกลับด้วยข้อความแสดงข้อผิดพลาด: โฮสต์ '60-248-32-13.HINET-IP.hinet.net' ไม่ได้รับอนุญาตให้เชื่อมต่อกับ
เซิร์ฟเวอร์
MySQL
นี้
นี่
เป็น
เพราะ
สิทธิ์
[ชื่อผู้ใช้]@[ipadd] ระบุโดย ' [รหัสผ่าน]';
[ชื่อผู้ใช้]: รหัสผู้ใช้สำหรับการเข้าสู่ระบบระยะไกล
[db_name]: ระบุชื่อของฐานข้อมูลที่จะเปิดให้ผู้ใช้
[รหัสผ่าน]: รหัสผ่านผู้ใช้สำหรับการเข้าสู่ระบบระยะไกล
[ipadd] ]: ที่อยู่ IP หรือตรวจสอบย้อนกลับ IP ชื่อ DNS ในตัวอย่างนี้ คุณต้องกรอก '60-248-32-13.HINET-IP.hinet.net' และใส่เครื่องหมายคำพูด (') ในแพ็คเกจ
(ใน ที่จริงแล้ว มันถูกดำเนินการบนเซิร์ฟเวอร์ระยะไกล และที่อยู่กรอกในโฮสต์ท้องถิ่น) ที่อยู่ IP)
หากคุณต้องการเปิดการอนุญาตทั้งหมด โปรดดำเนินการ:
mysql>update user set select_priv='Y', Insert_priv='Y' , Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv= 'Y',Reload_priv='Y', shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv ='Y', References_priv='Y',Index_priv='Y', Alter_priv='Y ', Show_db_priv='Y', Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y', Execute_priv=' Y',Repl_slave_priv='Y',Repl_client_priv='Y' โดยที่ user='[ชื่อผู้ใช้] ';
วิธีที่ 2:
วิธีแก้ไขการเชื่อมต่อระหว่างไคลเอนต์และเซิร์ฟเวอร์ (mysql): xxx.xxx.xxx.xxx ไม่ได้รับอนุญาต เชื่อมต่อกับบริการ mysql นี้
1. ป้อน mysql และสร้างผู้ใช้ใหม่ xuys:
รูปแบบ: ให้สิทธิ์ในฐานข้อมูล ชื่อ ชื่อตาราง user@login โฮสต์ ระบุโดย "รหัสผ่านผู้ใช้";
ให้สิทธิ์เลือก, อัปเดต, แทรก, ลบใน *.* ถึง [email protected] ระบุโดย "xuys1234";
เพื่อดูผลลัพธ์, ดำเนินการ:
ใช้ mysql;
เลือกโฮสต์, ผู้ใช้, รหัสผ่านจากผู้ใช้;
คุณจะเห็นว่าผู้ใช้ xuys ที่เพิ่งสร้างมีอยู่แล้วในตารางผู้ใช้. ฟิลด์โฮสต์แสดงถึงโฮสต์ที่เข้าสู่ระบบ ค่าของอาจเป็น IP หรือชื่อโฮสต์
การเปลี่ยนค่าของฟิลด์โฮสต์เป็น % หมายความว่าคุณสามารถเข้าสู่ระบบเซิร์ฟเวอร์ mysql ในฐานะผู้ใช้ xuys บนเครื่องไคลเอนต์ใดก็ได้ ตั้งค่าเป็น % ในระหว่างการพัฒนา
3. ./mysqld_safe --user-root &
ข้อควรจำ: การแก้ไขตารางการอนุญาตใดๆ จำเป็นต้องโหลดซ้ำ ซึ่งก็คือขั้นตอนที่ 3
หากคุณยังไม่สามารถเชื่อมต่อจากไคลเอนต์ได้หลังจาก 3 ขั้นตอนข้างต้น โปรดดำเนินการต่อไปนี้เพื่อแทรกบันทึกในตาราง db ของฐานข้อมูล mysql:
ใช้ mysql;
insert into dbvalues('192.168.88.234','%', 'xuys' ,'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y ');
อัปเดต db set host = '%' โดยที่ user = 'xuys';
ทำซ้ำขั้นตอนที่ 2 และ 3 ด้านบน
วิธีที่สาม:
เพิ่ม fbysss เพื่อแก้ไขปัญหา phpMyAdmin ที่เชื่อมต่อกับผู้ใช้ระยะไกล:
1. ล็อกอินเข้าสู่เซิร์ฟเวอร์ Mysql ระยะไกลด้วยบัญชีรูท
ให้สิทธิ์เลือก อัปเดต แทรก ลบบน *.* ไปที่ [email protected] ระบุโดย "sss";
อัปเดตชุดผู้ใช้โฮสต์ = '%' โดยที่ user = 'sss';
ออกจาก mysql และดำเนินการ
#mysqladmin -u root -p [รหัสผ่าน] รีโหลด
#mysqladmin -u root -p [รหัสผ่าน] ปิดระบบ
#/etc/rc .d/init .d/mysqld start
2. แก้ไขไฟล์ config.inc.php ในไดเรกทอรี phpMyAdmin ค้นหา
$cfg['Servers'][$i]['host'] และเปลี่ยนเป็นที่อยู่เซิร์ฟเวอร์ระยะไกล
$ cfg['Servers'][$ i]['user'] ถูกเปลี่ยนเป็น sss
$cfg['Servers'][$i]['password'] ถูกเปลี่ยนเป็นรหัสผ่านของ sss
ควรสังเกตว่าให้สิทธิ์ทั้งหมด สิทธิ์ไม่อนุญาตให้ "อนุญาต" แก่ผู้ใช้ หากคุณต้องการเพิ่ม คุณสามารถใช้ mysql;update user set Grant_priv ='Y' โดยตรงใน mysql เพื่อให้ตรงตามข้อกำหนด