คำขอบางรายการส่งคืน SQLSTATE [HY000] [1130] โฮสต์ 'localhost' ไม่ได้รับอนุญาตให้เชื่อมต่อกับเซิร์ฟเวอร์ MySQL นี้บนเซิร์ฟเวอร์ที่ใช้งานจริง

ฉันกำลังจัดการแอป Laravel บนโฮสต์ที่ใช้ร่วมกัน ทุกอย่างทำงานได้ดี แต่บางหน้ากลับมา

SQLSTATE [HY000] [1130] โฮสต์ 'localhost' ไม่ได้รับอนุญาตให้เชื่อมต่อกับเซิร์ฟเวอร์ MySQL นี้

สุ่มในบางคำขอ อย่างไรก็ตาม โดยส่วนใหญ่แล้วทุกอย่างทำงานได้ดี

นี่คือบันทึกของเข้าใจ io สำหรับข้อผิดพลาดนี้: ป้อนคำอธิบายรูปภาพที่นี่


person Ahmed Heikal    schedule 04.02.2019    source แหล่งที่มา
comment
ดูเหมือนคุณจะต้องตรวจสอบการอนุญาตระดับตารางใน MySQL... SHOW GRANTS อาจเป็นจุดเริ่มต้นที่ดี   -  person ficuscr    schedule 05.02.2019
comment
@ficuscr ให้สิทธิ์ทั้งหมดแก่ผู้ใช้ฐานข้อมูลแทนสิทธิ์ DROP   -  person Ahmed Heikal    schedule 05.02.2019
comment
และจากที่ไหน? ที่ไหนก็ได้? 127.0.0.1 แทนที่จะเป็น localhost? ไอพี? ช่วง? ฉันคิดว่าข้อผิดพลาดนั้นชัดเจน เพียงแค่ต้องคิดออกว่าทำไม ความไม่สอดคล้องกันแนะนำว่าอาจเป็นบางตาราง   -  person ficuscr    schedule 05.02.2019
comment
จริงๆ แล้วไม่มีอะไรที่เหมือนกัน แต่ฉันไม่ได้ตรวจสอบ IP ฉันจะตรวจสอบมันกลับทันที สำหรับตารางนั้น ไม่มีตารางใดที่ทำให้เกิดข้อผิดพลาด เนื่องจากข้อผิดพลาดนี้เกิดขึ้นเกือบหนึ่งครั้งในทุกเส้นทาง   -  person Ahmed Heikal    schedule 08.02.2019
comment
ฉันไม่พบช่วง IP ทั่วไป แต่ฉันคิดว่าเป็นเพราะบริษัทใช้โฮสต์ที่ใช้ร่วมกันและ SQL Server อาจล่มได้ในบางครั้งเนื่องจากสิ่งนี้จะเกิดขึ้นบนเซิร์ฟเวอร์การพัฒนาเฉพาะเมื่อเซิร์ฟเวอร์ SQL ถูกปิดตัวลง   -  person Ahmed Heikal    schedule 14.02.2019
comment
นั่นอาจอธิบายได้ว่า ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ได้... ฉันเดานะ สมมติว่าแอปพลิเคชันและฐานข้อมูลอยู่บนเซิร์ฟเวอร์ทั่วไปตัวเดียว... จะยังคงสนใจที่จะเห็นผลลัพธ์จาก SHOW GRANTS FOR 'someuser'@'localhost'; ข้อผิดพลาด 1130 นั้นค่อนข้างชัดเจน การแก้ไข ตามที่ระบุไว้   -  person ficuscr    schedule 15.02.2019
comment
ผู้ใช้ที่ได้รับสิทธิ์ในการเข้าถึง phpMyAdmin โดยผู้ให้บริการโฮสต์นั้นไม่เหมือนกับผู้ใช้ที่เข้าถึงผ่านแอปพลิเคชัน (ซึ่งไม่สามารถเปลี่ยนแปลงได้ และผู้ใช้ phpMyAdmin ไม่สามารถใช้กับแอปพลิเคชันได้) นอกจากนี้ ผู้ใช้รายนี้ไม่ได้รับอนุญาตให้ดำเนินการคำสั่ง SHOW GRANTS   -  person Ahmed Heikal    schedule 15.02.2019


คำตอบ (1)


เปลี่ยนไฟล์ .env ของคุณใน DB_HOST set mysql:

DB_HOST=mysql
person Santos L. Victor    schedule 16.05.2020