Только начал разбираться как работают привилегии в mysql
Меня жестко сбила с толку вот такая штука, создал пользователя:
CREATE USER user@localhost IDENTIFIED BY "pass";
Установил такие права.
update user set
Select_priv="Y",
Insert_priv="Y",
Update_priv="Y",
Delete_priv="Y",
Create_priv="Y",
Drop_priv="Y",
Reload_priv="N",
Shutdown_priv="N",
Process_priv="N",
File_priv="N",
Grant_priv="N",
References_priv="N",
Index_priv="N",
Alter_priv="N",
Show_db_priv="N",
Create_tmp_table_priv="N",
Lock_tables_priv="N",
Execute_priv="N",
Repl_slave_priv="N",
Repl_client_priv="N",
Create_view_priv="N",
Show_view_priv="N",
Create_routine_priv="N",
Alter_routine_priv="N",
Create_user_priv="N",
Event_priv="N",
Trigger_priv="N",
Create_tablespace_priv="N" where user="user";
И почему то с такими правами пользователь видит базу mysql и естественно может делать с ней что хочет.
Забавно то что если везде поставить N а на Select_priv=«Y», то пользователь так же видит эти бд.
Как сделать так чтобы пользователь не видел эти служебные базы?