Задавайте вопросы, мы ответим
Вы не зашли.
Возникла необходимость на MySQL сервере, запретить все изменения в одной базе. База содержит типы таблиц innodb и myisam.
Запрет должен касаться и пользователя с правами superuser.
Есть ли такая возможность?
mysql 5.0.45, for pc-linux-gnu (i686)
Отредактированно ankan (09.11.2009 10:57:01)
Неактивен
Для InnoDB — нет, для MyISAM — можете поставить права доступа к файлам
только на чтение.
Как вариант — удалить все учетные записи с правом SUPER
А зачем такое нужно?
UPD: придумал хак для InnoDB: innodb_force_recovery = 1
Неактивен
paulus написал:
А зачем такое нужно?
Базу (68GB) скопировали и перевели в боевой режим на новом сервере. Навсякий случай на старом сервере решили эту базу пока не удалять, для "манёвров" меcта на диске нет. Кроме неё на старом сервере есть и другие боевые базы с таблицами innodb.
Для предотвращения каких-либо изменений хочется её красиво (средствами MySQL) заблокировать.
Отредактированно ankan (09.11.2009 13:03:26)
Неактивен
«Красиво заблокировать» и «запретить суперпользователю что-то делать» — это противоречащие
друг другу вещи. Суперпользователю нельзя ничего запрещать, нужно пользоваться этой записью
только для административных действий.
Неактивен
paulus написал:
Суперпользователю нельзя ничего запрещать, нужно пользоваться этой записью
только для административных действий.
Согласен, но дело в том, что приложения использующие базу да и сама база создавались без учёта моего мнения.
Отредактированно ankan (09.11.2009 13:18:08)
Неактивен
Это не мешает создать другого суперпользователя, а у того, под которым ходят существующие
приложения, отобрать лишние права?
Неактивен
Так и поступлю: создам и отберу.
Неактивен