Назад | Перейти на главную страницу

Настройки безопасности MySQL игнорируют ограничения учетных записей?

После нескольких лет использования MySQL я столкнулся с проблемой безопасности, которая меня сильно сбивает с толку.

Я создаю новую базу данных и нового пользователя, а затем предоставляю этому пользователю права CRUD только для новой БД.

Но когда я вхожу в систему через какой-либо клиент MySQL или через CLI mysql, я могу читать и изменять данные во всех базах данных.

Я перепроверил себя и убедился, что у меня должен быть доступ только к одной БД, но я могу получить доступ к каждой БД.

Есть ли какой-либо параметр для MySQL, который просто заставляет его игнорировать безопасность, и я случайно включил его?

Спасибо.

Да; если вы запустите MySQL с --skip-grant-tables он обеспечивает свободный и легкий доступ ко всему каждому. Однако гораздо более вероятно, что вы испортили свою авторизацию и перманентную завивку (это действительно легко сделать); опубликуйте (вероятно, лучше в новом вопросе) набор запросов / операторов GRANT, которые вызвали проблемы (проверьте на рабочем сервере, что они действительно вызывают проблемы, которые, по вашему мнению, вызывают), и кто-то может объяснить, что пошло не так.

я не думаю, что ты сделал grant create,update,read,delete on *.* to 'user'@'localhost'; ?

также убедитесь, что вы не используете неявный пользователь / пароль из ~/.my.cnf файл, и запускаем mysql CLI с mysql -u user -p (я имею в виду, что вы можете "войти в систему" как root @ localhost или что-то в этом роде ...)

show grants; должен показать все разрешения, которые у вас есть, и какой вы «пользователь».

После перезапуска ушло - странно, мониторинг буду.

Спасибо всем, кто ответил.