J'ai les subventions suivantes pour un utilisateur / une base de données
mysql> SHOW GRANTS FOR 'username'@'localhost';
+---------------------------------------------------------------------------+
| Grants for username@localhost |
+---------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY PASSWORD 'xxx' |
| GRANT ALL PRIVILEGES ON `userdb`.* TO 'username'@'localhost' |
+---------------------------------------------------------------------------+
Pour activer l'accès externe à la base de données, je dois changer localhost en %
. Une façon de faire est d'utiliser REVOKE
toutes les autorisations et de le définir à nouveau. Le problème est qu'il existe un mot de passe que je ne connais pas. Par conséquent, si je révoque l'autorisation, je ne peux pas le rétablir.
Existe-t-il un moyen de changer le nom localhost
d' hôte en %
(et de revenir) sans révoquer l'autorisation elle-même?
mysql
.user
SETHost
= 'localhost' WHEREuser
.Host
= '%' ETuser
.User
= 'XXXdbusr';