sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

acceso denegado para el usuario después de mover la base de datos MySQL al servidor remoto

Los permisos de MySQL se basan en la dirección a la que se conectan y en el usuario. Entonces [email protected] y [email protected] tendrá dos conjuntos separados de permisos. Cambiar localhost a 127.0.0.1 como se menciona en el número 8 probablemente funcionará si su código y la base de datos están en el mismo servidor.

Si tiene acceso de terminal al cuadro donde está su php, puede intentar conectarse directamente descartando cualquier cosa que tenga que ver con php usando esto:

mysql -h 10.4.1.163 -u root -p[pass] database -e "SHOW TABLES"

Tenga en cuenta que no hay espacio entre -p y la contraseña. Si tiene éxito, obtendrá una lista de tablas en database .

Para otorgar acceso a otros usuarios o para otro nombre de host/IP, querrá ejecutar algo similar a esto:(aunque en realidad debería crear un usuario separado con permisos más restringidos según sus requisitos).

GRANT ALL PRIVILEGES ON `database`.* TO 'root'@'10.4.1.163';

Consulte los documentos sobre GRANT de MySQL aquí - http://dev.mysql .com/doc/refman/5.7/en/grant.html

En una nota al margen:por favor, por favor, no introduzca datos antiguos en una consulta sin usar al menos mysql_real_escape_string (http://php.net/manual/en/ función.mysql-real-escape-cadena.php ) de antemano. También puede consultar PDO (http://php. net/manual/es/book.pdo.php ) que generalmente se prefiere sobre el ahora obsoleto mysql_ funciones