Коли Раб є лише для читання , він не на 100% захищений від світу.
Відповідно до документації MySQL на read-only
Ця змінна вимкнено за замовчуванням. Коли це ввімкнено, сервер не допускає оновлень, за винятком користувачів, які мають привілей SUPER або (на підлеглому сервері) оновлень, виконаних потоками підлеглого. У налаштуваннях реплікації може бути корисним включити read_only на підлеглому сервері, щоб переконатися, що раби приймають оновлення лише з головного сервера, а не від клієнтів.
Таким чином, кожен, хто має привілей СУПЕР, може читати та писати за бажанням такому Рабу ...
Переконайтесь, що всі непривілейовані користувачі не мають привілею SUPER.
Якщо ви хочете відкликати всі привілеї SUPER за один кадр, запустіть це на Master і Slave:
UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
FLUSH PRIVILEGES;
Що стосується Раба, root
то це залишатиме за собою привілей СУПЕР справедливого та запобігає непривілейованому виконанню записів, від яких інакше вони будуть обмежені.
ОНОВЛЕННЯ 2015-08-28 17:39 EDT
Нещодавно я дізнався, що MySQL 5.7 представить super_read_only .
Це зупинить користувачів SUPER у їхніх треках, оскільки кажуть 5.7 Документів
Якщо системна змінна read_only включена, сервер дозволяє оновлення клієнта лише від користувачів, які мають привілей SUPER. Якщо також включена системна змінна super_read_only, сервер забороняє оновлення клієнтів навіть від користувачів, які мають SUPER. Дивіться опис системної змінної read_only для опису режиму лише для читання та інформації про взаємодію read_only та super_read_only.
Зміни super_read_only на головному сервері не копіюються на підлеглий сервери. Значення може бути встановлено на підлеглому сервері, незалежно від налаштування на ведучому.
Super_read_only додано в MySQL 5.7.8.