Скажем, у меня есть два пользователя на моей UNIX-машине - user1 и user2. У меня также есть две базы данных MySQL - db1 (mysql_user1) и db2 (mysql_user2).
Я хочу запретить пользователю user1 подключаться к db2, даже если он использует учетные данные mysql_user2. Я надеюсь, что это возможно.
Если вы действительно хотите это сделать, вы можете запустить два отдельных экземпляра MySQL, по одному для каждой базы данных. затем
iptables -A OUTPUT -p tcp --dport 3307 -o lo -m owner --uid-owner user1 -j REJECT
Я не защищаю это, но если вы действительно, действительно хотите, чтобы пользователь не мог даже разговаривать с неправильной базой данных, не говоря уже о том, чтобы аутентифицироваться в ней, это должно сработать.
Если учетные данные скомпрометированы, невозможно предотвратить доступ к любому пользователю user2, имеющему разрешения.