Pregunta:
Fecha: 02-07-2016 08:48:06
(En Español)
me parece que es un error con el usuario
he cambiado los datos de mi cadena de conexión en mi hosting
muchas gracias por el apoyo Votos: 2 - Respuestas: 2 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
SQLSTATE[HY000] [1044] Access denied for user 'xx'@'localhost' to database 'test1'[Resuelta]
Alguien me puede ayudar, he estado trabajando en modo localhost pero ahora quiero subir mi codigo a mi hosting y me muestra este error SQLSTATE[HY000] [1044] Access denied for user 'telperuc'@'localhost' to database 'test1'me parece que es un error con el usuario
he cambiado los datos de mi cadena de conexión en mi hosting
$this->pdo = new PDO('mysql:host=localhost;dbname=test1', 'xx', 'xxxx');
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
muchas gracias por el apoyo Votos: 2 - Respuestas: 2 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 04-07-2016 08:01:17 Hola Noe, verifica los datos de acceso configurados en tu hosting. Por lo general puedes consultarlos desde tu panel de administración, y luego remplaza tu usuario y constraseña por el que corresponda. Si no sabes cual es el usuario y contraseña correctos, y no los encuentras en tu panel de administración, carga un ticket a la empresa de hosting, seguramente ellos te facilitarán dichos datos.
Si ya tienes tu usuario y contraseña productivos (o sea, del hosting) y sigues sin poder acceder a la base de datos, prueba remplazar "localhost" por "127.0.0.1" <-- en algunos servidores esto suele funcionar (pero claro esta que es un problema en la configuración del hosting, ya que con localhost no deberías tener inconveniente).
Otra alternativa es crear tu usuario y constraseña directamtene en MySQL, es muy tipico en la administración de VPS y servidores dedicados que no disponen de un panel de administración, aquí un ejemplo:
GRANT ALL PRIVILEGES ON NOMBRE_BASE_DE_DATOS.* TO 'NOMBRE_DE_USUARIO'@'localhost' IDENTIFIED BY 'CONTRASEÑA'; GRANT ALL PRIVILEGES ON NOMBRE_BASE_DE_DATOS.* TO 'NOMBRE_DE_USUARIO'@'127.0.0.1' IDENTIFIED BY 'CONTRASEÑA';
Observa que aquí le estoy dando "ALL PRIVILEGES" (todos los privilegios) sobre todas las tablas de la base de datos indicada, lo correcto sería hacer una discriminación para evitar problamas de seguridad, por ejemplo:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,CREATE ROUTINE,ALTER ROUTINE ON NOMBRE_BASE_DE_DATOS.* TO 'NOMBRE_DE_USUARIO'@'localhost' IDENTIFIED BY 'CONTRASEÑA'; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,CREATE ROUTINE,ALTER ROUTINE ON NOMBRE_BASE_DE_DATOS.* TO 'NOMBRE_DE_USUARIO'@'127.0.0.1' IDENTIFIED BY 'CONTRASEÑA';
Espero que mi respuesta te sea de ayuda.
Saludos y buen código! Votos: 0 - Link respuesta -
Fecha: 05-07-2016 04:37:02 Correcto voy ha hacer las pruebas, gracias ´por la orientacion Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
