@Rogerg

Как сделать ограничение доступа к базе данных в Mysql?

у меня на компе несколько пользователей, когда я создаю базу данных в workbench , то эта база становится доступна всем на этом компьютере. Как сделать что бы мои базы были доступны только мне.
В постгресе тоже самое.
  • Вопрос задан
  • 1840 просмотров
Пригласить эксперта
Ответы на вопрос 2
@spaceatmoon
Создайте пользователя и назначьте права на базу только ему. Заодно проставьте правильные настройки по доступам к базам для остальных пользователей.

5ac52511ba473181132762.png
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Не говорите никому пароль от роли владельца, и никто не сможет подключиться к этой БД.

Вы таки удивитесь.
Дефолтно база доступна всем пользователям. И даже есть права на создание объектов. Удалить таблицу сможет суперпользователь или владелец этой таблицы. А вот создать - кто угодно.

Поэтому в postgresql после создания базы необходимо отзывать дефолтные права:
create database newdb;
\c newdb
GRANT CONNECT ON DATABASE newdb TO newdb_user ;
REVOKE ALL ON DATABASE newdb FROM public;
REVOKE ALL ON SCHEMA public FROM public;
GRANT USAGE ON SCHEMA public TO newdb_user;

Если при create database указать owner - то выдавать ему права на схему public будет избыточно, но делать revoke таки необходимо.

Сходная ситуация с mysql.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы