Otorgar derechos a la base de datos MySQL adicional causando problemas
Tengo un usuariomyuser
y dos bases de datos. 'db1
'y'db2
'.
'myuser
'ya tiene derechos de usodb1
y quería concederle permiso adicional para usar 'db2
'utilizando la siguiente consulta:
GRANT ALL ON db2.* TO 'myuser'@'localhost';
Después de que ejecuté la declaración de subvención,myuser
'Perdí la conexión a la primera base de datos'db1
'
Me temo que usé un nombre de host incorrecto. En lugar de 'localhost' debería haber usado '%'. Cuando lo hago:
select host from mysql.user where user = 'myuser';
Ahora veo dos registros de host'%'
ylocalhost
'para ese usuario
Cuando ejecuto las sentencias SHOW GRANT obtengo permisos para diferentes hosts. 'localhost' y '%'.
mysql> SHOW GRANTS FOR 'myuser'@'localhost';
+----------------------------------------------------------------------+
| Grants for myuser@localhost |
+----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'localhost' |
| GRANT ALL PRIVILEGES ON `beta_version`.* TO 'myuser'@'localhost' |
+----------------------------------------------------------------------+
y
mysql> SHOW GRANTS FOR 'myuser'@'%';
+-----------------------------------------------------------------------------------------------------------+
| Grants for myuser@% |
+-----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'%' IDENTIFIED BY PASSWORD '*6ASDFASDFASDF...'
| GRANT ALL PRIVILEGES ON `myuser`.* TO 'myuser'@'%'
+-----------------------------------------------------------------------------------------------------------+
¿Qué pasó que causó?myuser
'para no trabajar en mis scripts PHP y en phpMyAdmin?