เมื่อเป็นทาส อ่านอย่างเดียวจะไม่ได้รับการป้องกัน 100% จากโลก
ตามเอกสาร MySQL ใน read-only
ตัวแปรนี้ถูกปิดโดยปริยาย เมื่อเปิดใช้งานเซิร์ฟเวอร์จะไม่อนุญาตให้มีการอัปเดตยกเว้นจากผู้ใช้ที่มีสิทธิ์พิเศษหรือ (บนเซิร์ฟเวอร์ทาส) จากการอัปเดตที่ดำเนินการโดยชุดเธรดรอง ในการตั้งค่าการจำลองแบบจะมีประโยชน์ในการเปิดใช้งาน read_only บนเซิร์ฟเวอร์ทาสเพื่อให้แน่ใจว่าทาสยอมรับการปรับปรุงจากเซิร์ฟเวอร์หลักเท่านั้นไม่ใช่จากไคลเอนต์
ดังนั้นทุกคนที่มีสิทธิ์พิเศษสามารถอ่านและเขียนตามใจชอบใน Slave ...
ตรวจสอบให้แน่ใจว่าผู้ใช้ที่ไม่มีสิทธิพิเศษทั้งหมดไม่มีสิทธิ์พิเศษ
หากคุณต้องการยกเลิกสิทธิ์ใช้งาน SUPER ทั้งหมดในหนึ่งนัดโปรดเรียกใช้งานบน Master และ Slave:
UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
FLUSH PRIVILEGES;
จากการอ้างอิงถึง Slave สิ่งนี้จะสงวนสิทธิ์พิเศษไว้เป็นอย่างยิ่ง root
และป้องกันไม่ให้มีการยกเว้นจากการเขียนที่พวกเขาจะถูก จำกัด
อัพเดท 2015-08-28 17:39 EDT
ฉันเพิ่งรู้เมื่อเร็ว ๆ นี้ว่า MySQL 5.7 จะแนะนำsuper_read_only
สิ่งนี้จะหยุดผู้ใช้SUPERในเพลงของพวกเขาเพราะ 5.7 Docs พูด
หากเปิดใช้งานตัวแปรระบบ read_only เซิร์ฟเวอร์อนุญาตให้อัพเดตไคลเอ็นต์จากผู้ใช้ที่มีสิทธิ์พิเศษเท่านั้น หากตัวแปรระบบ super_read_only ถูกเปิดใช้งานด้วยเช่นกันเซิร์ฟเวอร์จะห้ามไม่ให้มีการอัพเดทไคลเอนต์จากผู้ใช้ที่มี SUPER ดูคำอธิบายของตัวแปรระบบ read_only สำหรับคำอธิบายของโหมดอ่านอย่างเดียวและข้อมูลเกี่ยวกับวิธีที่ read_only และ super_read_only โต้ตอบ
การเปลี่ยนแปลงเป็น super_read_only บนเซิร์ฟเวอร์หลักจะไม่ถูกจำลองแบบไปยังเซิร์ฟเวอร์ทาส ค่าสามารถตั้งค่าบนเซิร์ฟเวอร์ทาสโดยไม่ขึ้นกับการตั้งค่าบนต้นแบบ
super_read_only ถูกเพิ่มใน MySQL 5.7.8