Domanda

Sto cercando di eseguire una dichiarazione di sovvenzione:

GRANT ALL ON daisyrepository.* TO daisy@localhost IDENTIFIED BY 'password_here';

Ho eseguito questa istruzione sul server stesso utilizzando il desktop remoto utilizzando:

  • Phpmyadmin
  • Amministratore mysql
  • Client riga di comando

Ogni volta che eseguo questa affermazione, ricevo il seguente errore:

ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'daisyrepository'

Un po 'di informazioni sui privilegi:

radice@%

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT, EXECUTE 

root@localhost

ALL PRIVILEGES 

Se capisco correttamente, anche se sono connesso sul server, MySQL sta trattando le mie dichiarazioni come se venivo da una posizione remota?

EDIT #1Clafification: il server a cui sono connesso è dove è in esecuzione anche MySQL.

EDIT #2Una volta in RDP, accedo a MySQL usando la riga di comando. Se eseguo select current_user (), ottengo root@127.0.0.1. Il file my.ini ha anche skip_name_resolve in esso.

È stato utile?

Soluzione

Sembra che tu stia sempre connettendo su TCP (anziché le prese unix su Linux o i tubi nominati su Windows). Poiché hai SKIP_NAME_RESOVE nel tuo file INI, il server non invertisce DNS l'IP 127.0.0.1 di nuovo a LocalHost, quindi l'utente che si appare come è root@127.0.0.1, non root@localhost.

Se puoi, rimuovi SKIP_NAME_RESOVE dal file INI e assicurati che Abe Petrillo menziona di avere "LocalHost 127.0.0.1" nel tuo file host. Ciò dovrebbe consentire di connetterti come root@localhost. Se hai bisogno di skip_name_resolve per essere rimesso, assicurati di correre,

GRANT ALL on *.* to 'root'@'127.0.0.1' identified by '$roots_password' WITH GRANT OPTION;

che dovrebbe consentire di aggiungere di nuovo il skip_name_resole nel tuo file INI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top