Se hai mai chiuso le chiavi in macchina , avete già familiarità con la sensazione di affondare si otterrà dopo la realizzazione avete cancellato un account utente fondamentale per gestire un server database MySQL . Per convenzione , MySQL super- utente è chiamato " root" e ha poteri per aggiungere e modificare altri account , creare e cancellare database ed eseguire tali funzioni di gestione , come l'arresto del server. MySQL carica le informazioni sugli account utente in memoria all'avvio . Se si elimina accidentalmente un account "root " dalla tabella utente nel database , l'approccio di recupero dipenderà se tali credenziali sono davanzale in memoria . Istruzioni
credenziali root sono ancora Cached
1
Eseguire il comando di login per l'utilità " mysql " monitor a Linux o Windows prompt dei comandi:
mysql - user = root @ localhost - password = mypass
sostituirà " miapass " con la password per l'account " root" via
Se si è in grado di connettersi , rimanere connesso a " localhost ". il programma di utilità " mysql " e passare al punto 2 . In caso contrario , passare al
2
Digitare il seguente comando SQL mentre ancora effettuato l'accesso al programma di utilità " mysql " " Account di Root No Longer cache . " :
INSERT INTO mysql.user ( Host , user , Password ) VALUES ( 'localhost' , 'root' , PASSWORD ( ' mypass ')) ; " . miapass "
Questo crea un utente "root" con una password corrispondente il testo per Virgolette sono necessarie , ma la capitalizzazione di comandi SQL è facoltativo
3
Immettere il seguente comando SQL : . .
Grant all privileges on * * a 'root' @ 'localhost' WITH GRANT OPTION ;
Questo assegnerà tutti i privilegi per il nuovo account
account Root No Longer Cached
4
stop Your MySQL . server di
su un sistema Linux con un mysql start /stop dello script , questo è in genere fatto come amministratore di sistema digitando un comando come: .
/etc /rc.d /init.d /mysql arresto
Sui sistemi Windows, selezionare il Pannello di controllo dal menu Start e aprire le cartelle Strumenti di amministrazione . Fare doppio clic sull'icona Servizi e scorrere l'elenco fino alla voce "MySQL " . Fai clic destro su questo e selezionare " Stop" nel menu a comparsa
5
Aprire un editor di testo e immettere i comandi SQL seguenti : .
INSERT INTO mysql . ( Host , User , Password ) VALUES utente ( 'localhost' , 'root' , pASSWORD ( ' mypass ')) ;
grant all privileges on * * per 'root' @ 'localhost' WITH GRANT OPTION . ;
FLUSH TABLES ;
Again ", miapass " sarà la password che preferisci per il tuo account "root" . Salvare il file di testo . In questo esempio , il nome del file " root.sql " è usato .
6
Immettere questo comando su sistemi Linux per avviare il server MySQL (evitando lo script di start /stop al solito) e costringerlo a trattare i comandi nel file di testo :
safe_mysqld - init - file = root.sql
su Windows , il comando è:
mysqld - nt - init -file = root.sql
potrebbe essere necessario fornire il percorso completo di " safe_mysqld " o " mysqld - nt , " come con " root.sql . "
7
Spegnere il server di nuovo. Ora è possibile eseguire il programma di utilità " mysqladmin " come il nuovo "root " utente :
mysqladmin shutdown - user = root - password = mypass
Potrebbe essere necessario includere il percorso completo eseguibile " mysqladmin " sul vostro sistema . Ciò che viene digitato al posto di " miapass " di cui sopra sarebbe la password digitata durante la creazione del file " root.sql " .
8
Avviare il server MySQL come si fa normalmente per l' uso in produzione regolare.