phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

accesso negato all'utente dopo aver spostato il database MySQL sul server remoto

Le autorizzazioni MySQL si basano sull'indirizzo a cui si stanno connettendo e sull'utente. Quindi [email protected] e [email protected] avrà due set separati di autorizzazioni. La modifica di localhost in 127.0.0.1 come menzionato da num8er probabilmente funzionerà se il tuo codice e il database si trovano sullo stesso server.

Se hai l'accesso da terminale alla casella in cui si trova il tuo php, puoi provare a connetterti direttamente escludendo qualsiasi cosa abbia a che fare con php usando questo:

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

Nota che non c'è spazio tra -p e la password. In caso di successo, otterrai un elenco di tabelle nel database .

Per concedere l'accesso ad altri utenti o per un altro nome host/IP, vorrai eseguire qualcosa sulla falsariga di questo:(sebbene dovresti davvero creare un utente separato con autorizzazioni più limitate in base alle tue esigenze).

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

Controlla i documenti su GRANT di MySQL qui - http://dev.mysql .com/doc/refman/5.7/en/grant.html

In una nota a margine:per favore, per favore, per favore, per favore non semplicemente pompare vecchi dati in una query senza almeno usare mysql_real_escape_string (http://php.net/manual/en/ function.mysql-real-escape-string.php ) su di esso in anticipo. Puoi anche esaminare PDO (http://php. net/manual/en/book.pdo.php ) che è generalmente preferito rispetto all'ormai deprecato mysql_ funzioni