Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:Jak uniknąć sytuacji, w której użytkownik nawet zobaczy, że mam inne bazy danych i przyznać dostęp do jednego widoku w jednej bazie danych?

Znalazłem przegląd zawarty w ten artykuł jeszcze bardziej przydatne niż rzeczywista dokumentacja MySQL za opisanie pełnego obrazu tego, w jaki sposób uprawnienia MySQL są przyznawane lub odmawiane.

Istotą artykułu przeglądowego jest to, że uprawnienia są kontrolowane przez szereg coraz bardziej precyzyjnych tabel uprawnień w mysql baza danych:mysql.user , mysql.db , mysql.host , mysql.tables_priv , mysql.columns_priv , mysql.procs_priv . Ogólna zasada jest taka, że ​​wartość „Y” dla przywileju w bardziej szczegółowej tabeli ma pierwszeństwo przed wartością „N” w bardziej gruboziarnistej tabeli. Tak więc zalecaną strategią jest rozpoczęcie od odmowy większości uprawnień w user tabeli (co daje najszerszą kontrolę), a następnie w bardziej precyzyjnych tabelach dokonaj tylko określonych nadpisań, które chcesz.

W szczególności istnieje uprawnienie o nazwie SHOW_DATABASES który jest określony przez Show_db_priv kolumna w mysql.user stół; będziesz chciał ustawić to na „N” dla danego użytkownika (i jak opisano powyżej, możesz również ustawić większość innych uprawnień w tabeli użytkowników na „N”), a następnie przyznać tylko uprawnienia, które użytkownik faktycznie potrzebuje w mysql.db lub mysql.tables_priv stół lub cokolwiek, co byłoby odpowiednie dla twojego konkretnego przypadku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ustaw wartość =wartość +1 w bookshelf.js

  2. MySqlDB Pythona nie jest aktualizowany wiersz

  3. Aktualizacja wyzwalacza MySql wybierz sumę po wstawieniu

  4. Ustaw, które wiersze mają zostać usunięte w mysql po zastosowaniu połączonego unikalnego indeksu z ignorowaniem

  5. MySQL ALTER TABLE w tabelach zbyt dużych do zduplikowania