Khi một Slave chỉ đọc , nó không được bảo vệ 100% khỏi thế giới.
Theo Tài liệu MySQL trên read-only
Biến này được tắt theo mặc định. Khi được bật, máy chủ không cho phép cập nhật ngoại trừ từ người dùng có đặc quyền SUPER hoặc (trên máy chủ nô lệ) khỏi các cập nhật được thực hiện bởi các luồng nô lệ. Trong các thiết lập sao chép, có thể hữu ích khi bật read_only trên các máy chủ nô lệ để đảm bảo rằng nô lệ chỉ chấp nhận cập nhật từ máy chủ chính chứ không phải từ máy khách.
Do đó, bất cứ ai có đặc quyền SUPER đều có thể đọc và viết theo ý muốn cho một Slave như vậy ...
Đảm bảo tất cả người dùng không có đặc quyền không có Đặc quyền SIÊU.
Nếu bạn muốn thu hồi tất cả các đặc quyền SUPER trong một lần bắn, vui lòng chạy nó trên Master và Slave:
UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
FLUSH PRIVILEGES;
Với tham chiếu đến Slave, điều này sẽ bảo lưu đặc quyền SUPER chỉ root
và ngăn chặn những người không có đặc quyền thực hiện việc viết mà họ sẽ bị hạn chế.
CẬP NHẬT 2015-08-28 17:39 EDT
Tôi mới biết rằng MySQL 5.7 sẽ giới thiệu super_read_only .
Điều này sẽ ngăn người dùng SUPER trong các bài hát của họ vì 5.7 Docs nói
Nếu biến hệ thống read_only được bật, máy chủ chỉ cho phép cập nhật máy khách từ những người dùng có đặc quyền SUPER. Nếu biến hệ thống super_read_only cũng được bật, máy chủ sẽ cấm cập nhật máy khách ngay cả từ những người dùng có SUPER. Xem mô tả về biến hệ thống read_only để biết mô tả về chế độ chỉ đọc và thông tin về cách tương tác read_only và super_read_only.
Các thay đổi đối với super_read_only trên máy chủ chính không được sao chép sang máy chủ nô lệ. Giá trị có thể được đặt trên máy chủ nô lệ độc lập với cài đặt trên bản gốc.
super_read_only đã được thêm vào MySQL 5.7.8.