sql >> Base de Datos >  >> RDS >> Mysql

Error de acceso denegado de Java a MySQL

La explicación más probable es que el usuario no está definido en MySQL.

Tenga en cuenta que en MySQL un usuario se identifica tanto por el nombre de host (o dirección IP) desde el que se conecta el usuario, como por el nombre de usuario. (NOTA:se puede usar un '%' como comodín para el nombre de host, para permitir la conexión desde cualquier host, pero MySQL primero buscará una coincidencia exacta y luego recurrirá al comodín si no se encuentra ninguna coincidencia).

SELECT u.Host,
     , u.User
     , u.Password
  FROM mysql.user u
 WHERE u.User = 'buiud458_raklar'

Esperaríamos que haya una fila allí con el valor de Host de 'd24-36-33-148.home1.cgocable.net ', o una fila con un comodín de valor de host de '% '.

Puede comparar la contraseña que está utilizando con el valor almacenado en la tabla, con la función CONTRASEÑA...

SELECT PASSWORD('mysecret') 

Cada [email protected] se pueden otorgar privilegios en bases de datos individuales.

SELECT d.Host
     , d.User
     , d.Db
  FROM mysql.db d
 WHERE d.User = 'buiud458_raklar'

La forma más fácil de configurar un usuario con privilegios en una base de datos:

CREATE USER 'buiud458_raklar'@'d24-36-33-148.home1.cgocable.net' IDENTIFIED BY 'secret' ;
GRANT ALL PRIVILEGES ON mydb.* TO  'buiud458_raklar'@'d24-36-33-148.home1.cgocable.net' ;

(NOTA:otorgar todos los privilegios a un usuario generalmente viola el principio de mejores prácticas de "privilegio mínimo". Es posible que este usuario no requiera realmente todos los privilegios, por ejemplo, el privilegio DROP TABLE. Otorgar privilegios innecesariamente es un riesgo de seguridad adicional).

http://dev.mysql.com/doc/refman /5.5/es/agregar-usuarios.html