2012-12-20 14 views
5

Stavo giocando con MySQL su OS X e ho rimosso tutti gli utenti 'root' usando DROP USER. Ho quindi aggiunto alcuni di loro e fatto GRANT ALL on *.* to 'root'@'localhost';, e poi disconnesso dopo aver verificato che sì, in effetti, ho potuto accedere e fare alcune operazioni privilegiate.Ho bloccato per errore root su MySQL

Sfortunatamente, una delle operazioni privilegiate che non ho provato è stata GRANT ALL on *.*. Si scopre che non si ottiene il privilegio di concedere i privilegi con il comando GRANT ALL. Quindi ora sono bloccato. Non posso dare a nessuno alcun privilegio di fare nient'altro.

A questo punto in realtà non ho dati in MySQL. Potrei semplicemente cancellare l'installazione e farlo. Ma mi piacerebbe aggiustarlo senza ricorrere a quell'estremo. Come lo faccio?

risposta

9

Inserire il seguente in un file:

GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION; 
FLUSH PRIVILEGES; 

Il riavvio mysqld con l'opzione --init-file specificando che file.

+0

Yay! Ho capito questo, ma la mia ricerca di una risposta mi ha mostrato che nessuno aveva davvero dato una buona risposta per questo scenario su StackOverflow. Speravo che qualcuno avrebbe dato questa risposta perché ha bisogno di essere qui. :-) – Omnifarious

Problemi correlati