ฉันตั้งค่า MySQL master-slave สำเร็จบนอินสแตนซ์ AWS EC2 แยกต่างหาก
ทาสกำลังทำงานและจำลองต้นแบบได้สำเร็จ
จนถึงตอนนี้ดีมาก
ตอนนี้ฉันต้องการที่จะสามารถสอบถามทาส (สำหรับการวิเคราะห์ ฯลฯ ) แต่ฉันไม่พบการกำหนดค่าที่เหมาะสมเพื่อให้สามารถส่งแบบสอบถามจากต้นแบบไปยังทาส
ข้อผิดพลาดที่ฉันได้รับ (ขึ้นอยู่กับการตั้งค่าโปรไฟล์ความปลอดภัย AWS ของฉัน) คือ "การเชื่อมต่อถูกปฏิเสธ" หรือ "การเชื่อมต่อหมดเวลา"
บนสเลฟ ฉันมี EC2 Security Group ที่อนุญาตสำหรับบล็อก IP หลักเพื่อใช้เชื่อมต่อกับพอร์ต 3306 และฉันใช้ที่อยู่ IP ของสเลฟในการกำหนดค่าการเชื่อมต่อของมาสเตอร์
ซึ่งส่งผลให้เกิดข้อผิดพลาด "การเชื่อมต่อถูกปฏิเสธ" เมื่อฉันพยายามสอบถามทาสจากมาสเตอร์
ในมาสเตอร์ ฉันเรียกใช้ 'แสดงรายการกระบวนการทั้งหมด' และเห็นว่าโฮสต์สเลฟเป็นชื่อโฮสต์ AWS EC2 ไม่ใช่ IP และพอร์ต 44508 ถูกต่อท้าย ดังนั้นฉันจึงเปลี่ยนข้อมูลการเชื่อมต่อบนมาสเตอร์เพื่อใช้โฮสต์สเลฟ ชื่อแทนที่อยู่ IP และการตั้งค่ากลุ่มความปลอดภัยบนทาสเพื่ออนุญาตการรับส่งข้อมูลจากมาสเตอร์บนพอร์ต 44508 แทน 3306
ซึ่งส่งผลให้เกิดข้อผิดพลาด "การเชื่อมต่อหมดเวลา"
ฉันได้ลองผสม IP/ชื่อโฮสต์/พอร์ตในกลุ่มความปลอดภัยของสลาฟแล้ว แต่เพิ่งได้รับข้อผิดพลาดหนึ่งใน 2 รายการนั้นไม่ว่าจะใช้ชุดค่าผสมใด
ทุกคนสามารถเสนอเคล็ดลับเกี่ยวกับวิธีการกำหนดค่าต่างๆ เพื่อให้ฉันสามารถรันการสืบค้น (อ่านอย่างเดียว) บนสเลฟจากเครื่องหลักนั้น และส่งคืนผลลัพธ์กลับไปยังมาสเตอร์ได้หรือไม่ ทีไอเอ.
ทั้งสองระบบได้รับการตั้งค่าเหมือนกัน ยกเว้นว่ามาสเตอร์กำลังเรียกใช้ Codeigniter4 ด้วย ซึ่งเป็นตำแหน่งที่ฉันตั้งค่าคอนฟิกูเรชันการเชื่อมต่อ:
อูบุนตู 20.04.3 LTS และ MySQL 8.0.26-0