Come posso cambiare la password di root di MySQL e il nome utente nel server Ubuntu? Devo interrompere il servizio mysql prima di impostare eventuali modifiche?
Ho anche una configurazione di phpmyadmin, phpmyadmin verrà aggiornato automaticamente?
Come posso cambiare la password di root di MySQL e il nome utente nel server Ubuntu? Devo interrompere il servizio mysql prima di impostare eventuali modifiche?
Ho anche una configurazione di phpmyadmin, phpmyadmin verrà aggiornato automaticamente?
Risposte:
Imposta / modifica / reimposta la password di root di MySQL su Ubuntu Linux. Inserisci le seguenti righe nel tuo terminale.
sudo /etc/init.d/mysql stop
Inizia la mysqld
configurazione:sudo mysqld --skip-grant-tables &
In alcuni casi, devi creare il /var/run/mysqld
primo:
sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
sudo service mysql start
mysql -u root mysql
Sostituisci YOURNEWPASSWORD
con la tua nuova password:
UPDATE
mysql.user
SET
Password = PASSWORD('YOURNEWPASSWORD')
WHERE
User = 'root';
FLUSH PRIVILEGES;
exit;
Nota: su alcune versioni, se la
password
colonna non esiste, potresti provare:
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';
Nota: questo metodo non è considerato il modo più sicuro di reimpostare la password, tuttavia funziona.
Riferimenti:
sudo killall -9 mysqld
? e poi sudo service mysql start
per riavviare il demone normale ...
mkdir /var/run/mysqld
e chown mysql: /var/run/mysqld
tra i passaggi 1 e 2
L'unico metodo che ha funzionato per me è quello descritto qui (sto eseguendo Ubuntu 14.04). Per motivi di chiarezza, questi sono i passaggi che ho seguito:
sudo vim /etc/mysql/my.cnf
Aggiungi le seguenti righe alla fine:
[Mysqld] saltare-grant-tables
sudo service mysql restart
mysql -u root
use mysql
select * from mysql.user where user = 'root';
- Guarda in alto per determinare se la colonna della password è chiamata
password o authentication_string
UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';
- Utilizzare la colonna password corretta dall'alto
FLUSH PRIVILEGES;
exit
sudo vim /etc/mysql/my.cnf
Rimuovere le linee aggiunte nel passaggio 2 se si desidera mantenere gli standard di sicurezza.
sudo service mysql restart
Per riferimento: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Il modo ufficiale e semplice per ripristinare la password di root su un server Ubuntu ...
Se sei il 16.04, 14.04, 12.04:
sudo dpkg-reconfigure mysql-server-5.5
Se sei su 10.04:
sudo dpkg-reconfigure mysql-server-5.1
Se non sei sicuro di quale versione di mysql-server è installata, puoi provare:
dpkg --get-selections | grep mysql-server
Note aggiornate per mysql-server-5.7
Notare che se si utilizza mysql-server-5.7 non è possibile utilizzare il metodo dpkg-reconfigure più semplice mostrato sopra.
Se conosci la password, accedi ed esegui questo:
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;
In alternativa, è possibile utilizzare quanto segue:
sudo mysql_secure_installation
Questo ti farà una serie di domande su come proteggere la tua installazione (altamente raccomandato), incluso se vuoi fornire una nuova password di root.
Se NON conosci la password di root, fai riferimento a questo Ubuntu-centric scrivere sul processo .
Vedi per maggiori informazioni:
https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html
Ver 14.14 Distrib 5.5.38, for debian-linux-gnu
sudo dpkg-reconfigure mysql-server-5.0
sudo dpkg-reconfigure mysql-server-5.7; sudo mysql_secure_installation
Cosa ha funzionato per me (Ubuntu 16.04, mysql 5.7):
Ferma MySQL
sudo service mysql stop
Crea directory di servizio MySQL.
sudo mkdir /var/run/mysqld
Autorizzare l'utente MySQL a scrivere nella directory di servizio.
sudo chown mysql: /var/run/mysqld
Avviare MySQL manualmente, senza controlli di autorizzazione o di rete.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Su un'altra console, accedi senza password.
mysql -uroot mysql
Poi:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;
Disattiva MySQL.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
Avviare normalmente il servizio MySQL.
sudo service mysql start
Sto condividendo la soluzione finale passo dopo passo per ripristinare una password MySQL in Linux Ubuntu.
Riferimento tratto dal blog (dbrnd.com)
Passaggio 1: interrompere il servizio MySQL.
sudo stop mysql
Passaggio 2: uccidi tutti i mysqld in esecuzione.
sudo killall -9 mysqld
Passaggio 3: avvio di mysqld in modalità provvisoria.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Passaggio 4: avviare il client mysql
mysql -u root
Passaggio 5: dopo aver eseguito correttamente l'accesso, eseguire questo comando per modificare qualsiasi password.
FLUSH PRIVILEGES;
Passaggio 6: è possibile aggiornare la password di root di mysql.
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
Nota : su MySQL 5.7, Password
viene chiamata colonnaauthentication_string
.
Passaggio 7: eseguire questo comando.
FLUSH PRIVILEGES;
Ho riscontrato problemi con Ubuntu 18.04 e mysql 5.7, questa è la soluzione
Prova a riavviare mysql-server prima di eseguire i comandi
sudo service mysql restart
MYSQL-SERVER> = 5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
MYSQL-SERVER <5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
MYSQL-SERVER >= 5.7
versione era l'unica cosa che ha effettivamente risolto il problema
MYSQL-SERVER >= 5.7
versione per essere precisi.
Cambia la password di root di MySQL.
Questo metodo espone la password alla cronologia della riga di comando, questi comandi devono essere eseguiti come root.
Accedi tramite lo strumento da riga di comando mysql:
mysql -uroot -poldpassword
Esegui questo comando:
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
o
Esegui questo comando, che imposta una password per l'utente corrente ('root' per questo caso):
SET PASSWORD = PASSWORD ('newpassword');
A prima vista esegui questo comando:
sudo mysql
e quindi dovresti controllare quale metodo di autenticazione dei tuoi account utente MySQL usa. Quindi esegui questo comando
SELECT user,authentication_string,plugin,host FROM mysql.user;
ora puoi già vedere qualcosa del genere:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
nella tabella che precede, puoi vedere che tutti gli stati degli account degli utenti mysql e se hai impostato una password per l'account root prima di vederli mysql_native_password
nella colonna dei plugin auth_socket
. Tutto sommato per modificare la password di root è necessario eseguire:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Assicurati di cambiare la password con una password sicura di tua scelta. Quindi, per ricaricare il server per rendere effettive le nuove modifiche, eseguire questo;
FLUSH PRIVILEGES;
Quindi, controlla nuovamente i metodi di autenticazione utilizzati dal tuo mysql, con questo comando:
SELECT user,authentication_string,plugin,host FROM mysql.user;
e ora l'output è:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
come puoi vedere nella tabella delle sovvenzioni del tuo account root mysql_native_password
. ora puoi uscire dalla shell MYSQL
exit;
Ecco, basta riavviare mysql sudo service mysql restart
. Ora puoi accedere facilmente a mysql come account root con la tua password.
Se desideri cambiare la password di root di MySQL, in un terminale inserisci:
sudo dpkg-reconfigure mysql-server-5.5
Il demone MySQL verrà arrestato e ti verrà chiesto di inserire una nuova password.
sudo dpkg-reconfigure mysql-server-5.7
Ubuntu 16.04, non ha richiesto di inserire una nuova password.
mysql-server is broken or not fully installed
, si può usare sudo apt purge mysql*
esudo apt install mysql-server
Funziona così come l'ho fatto per Ubuntu 16.04. Credito completo al link qui sotto come l'ho preso da lì. [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts[[1]
Ferma MySQL
sudo service mysql stop
Crea directory di servizio MySQL. sudo mkdir / var / run / mysqld
Autorizzare l'utente MySQL a scrivere nella directory di servizio.
sudo chown mysql: /var/run/mysqld
Avviare MySQL manualmente, senza controlli di autorizzazione o di rete.
sudo mysqld_safe --skip-grant-tables --skip-networking &
Accedi senza password.
mysql -uroot mysql
Aggiorna la password per l'utente root. assicurati che all'account atleast root venga aggiornato dalla query seguente. effettuare una selezione e verificare i valori esistenti, se lo si desidera
UPDATE mysql.user SET
authentication_string=PASSWORD('YOURNEWPASSWORD'),
plugin='mysql_native_password' WHERE User='root';
EXIT;
Disattiva MySQL.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
Avviare normalmente il servizio MySQL.
sudo service mysql start
Stop MySQL sudo service mysql stop
Crea directory di servizio MySQL. sudo mkdir / var / run / mysqld
Autorizzare l'utente MySQL a scrivere nella directory di servizio. sudo chown mysql: / var / run / mysqld
Avviare MySQL manualmente, senza controlli di autorizzazione o di rete. sudo mysqld_safe --skip-grant-tables --skip-networking &
5.Accedere senza password. mysql -uroot mysql
6. Aggiornare la password per l'utente root.
AGGIORNA mysql.user SET authentication_string = PASSWORD ('YOURNEWPASSWORD'), plugin = 'mysql_native_password' DOVE Utente = 'root' AND Host = '%'; USCITA;
Disattiva MySQL. sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
Avviare normalmente il servizio MySQL. sudo service mysql start
UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';
senza AND Host='%'
. Grazie!
Questa soluzione appartiene alla versione precedente di MySQL. Accedendo a MySQL utilizzando l'autenticazione socket, è possibile farlo.
sudo mysql -u root
Quindi è possibile eseguire il comando seguente.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
I dettagli sono disponibili qui .
sudo mysql -u root
ma sono stato in grado di farlo come sudo mysql
ed eseguire il ALTER USER
comando.
Questa è la soluzione per me Lavoro a Ubuntu 18.04: https://stackoverflow.com/a/46076838/2400373
Ma è importante questo cambiamento nell'ultimo passaggio:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
Per Ubuntu 18.04 e mysql versione 14.14 Distrib 5.7.22 segui il passaggio seguente per resettare la password mysql.
sudo systemctl stop mysql
sudo systemctl edit mysql
Questo comando aprirà un nuovo file nell'editor nano, che verrà utilizzato per modificare le sostituzioni del servizio MySQL. Questi cambiano i parametri di servizio predefiniti per MySQL. Questo file sarà vuoto, quindi aggiungi il seguente contenuto:
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking
sudo systemctl daemon-reload
sudo systemctl start mysql
sudo mysql -u root
FLUSH PRIVILEGES;
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';
UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';
sudo systemctl revert mysql
e infine
sudo systemctl restart mysql
Adesso divertiti
Facendo eco al commento di rogerdpack: se non conosci la password di root di MySQL e non ti interessano i dati / le impostazioni di MySQL, puoi reinstallarla e reimpostare la password di root come segue:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client
Durante l'installazione, puoi scegliere la password del root:
Se conosci la tua password attuale, non è necessario arrestare il server mysql. Apri il terminale Ubuntu. Accedi a mysql usando:
mysql - username -p
Quindi digitare la password. Questo ti porterà nella console mysql. All'interno della console, digitare:
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Quindi scaricare i privilegi utilizzando:
> flush privileges;
Allora hai finito.
Quando si utilizza MySQL PASSWORD()
sul sistema in cui si desidera modificare la password, è possibile che la password venga visualizzata in un registro MySQL in chiaro [ sorgente ]. Mantenerli, i loro backup ecc. Sicuri quanto la password mi sembra un incubo, quindi preferisco farlo nel modo seguente:
Sul tuo computer locale , eseguilo con la tua password:
mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")
Nota lo spazio davanti per evitare che compaia nella storia di Bash (per altre distro Ubuntu, potrebbe funzionare diversamente - fonte ).
Sul tuo computer server, esegui il comando seguente per modificare la password di root di MySQL (sostituisci myhash
con l'hash della password come stampato dal primo comando):
mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
Facoltativamente, diventiamo un po 'paranoici: sul tuo computer locale, cancella lo schermo del tuo terminale clear
ed elimina lo scrollback del tuo terminale virtuale, per nascondere la password in chiaro che appare nel comando sopra.
Per aggiornare la password utente "root" di Mysql devi tenere presente che per questo avrai bisogno di autorizzazioni per superutente. Se si dispone di privilegi di superutente, provare i seguenti comandi:
MySQL 5.7.6 e versioni successive
sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass
MySQL 5.7.5 e precedenti
sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass
Non hai bisogno di tutto questo. Accedi semplicemente:
mysql -u root -p
Quindi modificare la password dell'utente corrente come mysql>
richiesta:
mysql> set password=password('the_new_password');
mysql> flush privileges;
La maggior parte delle risposte su questo argomento sono obsolete; due importanti cambiamenti si sono verificati in MySQL fino alla stesura di questa risposta:
1- il campo "Password" nella tabella utente è stato sostituito dalla colonna "autenticazione_stringa".
2- la funzione di crittografia "Password": PASSWORD ("di alcuni testi") è obsoleta.
Fare riferimento a questo link per ulteriori informazioni: dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
Invece di reimpostare la password, è possibile aggirare il computer locale se si è configurato il phpmyadmin
collegamento senza fornire la password o il nome utente. Dai un'occhiata all'avvio mysql
, apache
ecc. Ho xampp
installato sul mio computer locale. Quindi l'avvio di xampp avvierà tutti i servizi necessari. Ora vado a http://localhost/phpmyadmin
mostrarmi tutti i database. Ciò conferma che hai salvato il nome utente e la password nel file di configurazione di phpmyadmin che si trova nel phpmyadmin
percorso di installazione. Se xampp
la phpmyadmin
cartella è stata installata, è possibile trovarla nella cartella principale xampp
dell'installazione. Cerca la parola password
nel config.inc.php
file. Lì troverai il password
e username
.
Puoi facilmente cambiare la password mysql se distribuita su xampp attraverso la GUI phpadmin fornita.
phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)
per mysql 5.6 questo comando funziona ed è possibile impostare la password tramite la procedura guidata:
sudo dpkg-reconfigure mysql-server-5.6
Puoi provare questi alcuni passaggi per ripristinare la password di root di mysql 5.7:
Arresta il servizio Mysql 1 °
sudo /etc/init.d/mysql stop
Accedi come root senza password
sudo mysqld_safe --skip-grant-tables
e
Dopo il login mysql terminal dovresti aver bisogno di eseguire altri comandi:
use mysql;
UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';
flush privileges;
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
Dopo aver riavviato il tuo server mysql Se riscontri ancora errori devi visitare: Ripristina la password di root di MySQL 5.7 Ubuntu 16.04
Puoi usare questo comando:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
dopodiché si prega di utilizzare flush:
FLUSH PRIVILEGES;
Impostazione della password MySQL
sudo /etc/init.d/mysql stop
sudo mkdir / var / run / mysqld /
sudo chown mysql / var / run / mysqld /
sudo mysqld_safe --skip-grant-tables &
sudo mysql -u root
usa mysql;
update user set authentication_string=PASSWORD("New_Passwore_Here") where
= Utente 'root';
Salva le modifiche
privilegi di scarico; Uscita;
arrestare MySQL safe_mode e avviare il servizio predefinito MySQL
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
sudo mysql -u root -p
*** Fonte: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/
Se conosci la password degli utenti "root", accedi a mysql con quelle credenziali. Quindi eseguire la query seguente per aggiornare la password.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';
durante la modifica / reimpostazione della password di MySQL i seguenti comandi elencati sopra non sono stati utili. Ho scoperto che entrare nel terminale e usare questi comandi è inutile. invece usa il comando sudo per fermare tutto. DELETE SYSTEM 32 per Windows se questo aiuta.
ubuntu
sistema operativo non Windows. Cosa intendi con DELETE SYSTEM 32 per Windows ?
Per reimpostare o modificare la password, immettere sudo dpkg-reconfigure mysql-server-X.X
(XX è la versione mysql installata, ovvero 5.6, 5.7) e quindi verrà visualizzata una schermata in cui è necessario impostare la nuova password, quindi nel passaggio successivo confermare la password e attendere solo un momento. Questo è tutto.
Ho dovuto seguire questa strada su Ubuntu 16.04.1 LTS. È un po 'un mix di alcune delle altre risposte sopra - ma nessuna di queste ha aiutato. Ho trascorso un'ora o più a provare tutti gli altri suggerimenti dal sito Web MySql a tutto su SO, finalmente ho funzionato con:
Nota: mentre mostrava Enter password per root utente, non avevo la password originale, quindi ho appena inserito la stessa password in essere usato come nuova password.
Nota: non esisteva /var/log/mysqld.log solo /var/log/mysql/error.log
Nota anche che questo non ha funzionato per me:
sudo dpkg-reconfigure mysql-server-5.7
Nemmeno:
sudo dpkg-reconfigure --force mysql-server-5.5
crea la directory di servizio MySQL.
sudo mkdir /var/run/mysqld
Autorizzare l'utente MySQL a scrivere nella directory di servizio.
sudo chown mysql: /var/run/mysqld
Poi:
run / usr / bin / mysql_secure_installation
Output da mysql_secure_installation
root @ myServer: ~ # / usr / bin / mysql_secure_installation
Protezione della distribuzione del server MySQL.
Inserisci la password per l'utente root:
VALIDATE PLUGIN PASSWORD può essere utilizzato per testare le password e migliorare la sicurezza. Controlla la forza della password e consente agli utenti di impostare solo quelle password che sono abbastanza sicure. Desideri installare il plug-in VALIDATE PASSWORD?
Premere y | Y per Sì, qualsiasi altro tasto per No: no Uso della password esistente per root. Cambia la password per root? ((Premere y | Y per Sì, qualsiasi altro tasto per No): y
Nuova password:
Reinserisci nuova password: per impostazione predefinita, un'installazione MySQL ha un utente anonimo, che consente a chiunque di accedere a MySQL senza che sia necessario creare un account utente. Questo è inteso solo per i test e per rendere l'installazione un po 'più fluida. È necessario rimuoverli prima di trasferirsi in un ambiente di produzione.
Rimuovere utenti anonimi? (Premere y | Y per Sì, qualsiasi altro tasto per No): y Successo.
Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'. Questo assicura che qualcuno non possa indovinare la password di root dalla rete.
Non consentire l'accesso root da remoto? (Premere y | Y per Sì, qualsiasi altro tasto per No): y Successo.
Per impostazione predefinita, MySQL viene fornito con un database denominato "test" a cui chiunque può accedere. Anche questo è destinato esclusivamente ai test e deve essere rimosso prima di trasferirsi in un ambiente di produzione.
Rimuovere il database di prova e accedervi? (Premere y | Y per Sì, qualsiasi altro tasto per No): y
Eliminazione del database dei test ... Esito positivo.
Rimozione dei privilegi sul database di test ... Operazione riuscita.
Il ricaricamento delle tabelle dei privilegi garantirà che tutte le modifiche apportate finora abbiano effetto immediato.
Ricarica le tabelle dei privilegi ora? (Premere y | Y per Sì, qualsiasi altro tasto per No): y Successo.
Tutto fatto!