Paso 1. Verificar salida
Usar este comando para verificar la salida posible.
mysql> select user,host,password from mysql.user;
Deberiamos obtener una salida parecida.
mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | admin | % | | +-------+-----------------------+-------------------------------------------+ 5 rows in set (0.00 sec)
En este caso el usuario admin no podrá iniciar sesión desde otro host aunque haya otorgado permiso. la razón es que el administrador de usuario no está identificado por ninguna contraseña.
Paso 2. Asignar privilegio y contraseña al usuario admin
Otorgamos al usuario admin un contraseña utilizando el comando GRANT una vez más.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'
luego de asignar la contraseña, verificamos la salida con el comando anterior indicado.
mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | % | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
Si el usuario deseado, por ejemplo, el usuario 'admin' necesita iniciar sesión, use una vez el comando GRANT y ejecute el comando.
Ahora el usuario debería poder iniciar sesión de forma remoto. Es importante mencionar que este procedimiento solo aplica si se tiene acceso a MySQL de forma local.