GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come reimpostare la password di root in MySQL 8 su Ubuntu Linux

Hai dimenticato il tuo database MySQL root password utente? Nessun problema! Questa guida passo passo spiega come reimpostare la password di root in MySQL 8 sul sistema operativo Ubuntu 20.04.

Nota: Come forse già saprai, l'utente root MySQL utilizza auth_socket plug-in per l'autenticazione con il server MySQL nei sistemi Ubuntu che eseguono MySQL 5.7 e versioni successive. Quindi puoi accedere al server MySQL come root utente con sudo mysql comando fintanto che conosci il sudo dell'utente del tuo sistema parola d'ordine. In tal caso, non è necessario modificare la root di MySQL parola d'ordine. Se hai già modificato il metodo di autenticazione per la radice di MySQL utente a caching_sha2_password o mysql_native_password , segui i passaggi seguenti per reimpostare la root password del database MySQL.

Reimposta la password di root in MySQL 8 su Ubuntu Linux

1. Innanzitutto, arresta il servizio MySQL utilizzando il comando:

$ sudo systemctl stop mysql

Questo arresterà il servizio MySQL se è in esecuzione. Puoi verificare lo stato del servizio MySQL con il comando:

$ sudo systemctl status mysql

Risultato di esempio:

● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: inactive (dead) since Mon 2021-05-31 11:01:15 UTC; 1min 15s ago
     Process: 1446 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
    Main PID: 1446 (code=exited, status=0/SUCCESS)
      Status: "Server shutdown complete"
 May 31 07:57:50 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 07:57:51 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
 May 31 11:01:14 ubuntu2004.localdomain systemd[1]: Stopping MySQL Community Server…
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: mysql.service: Succeeded.
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: Stopped MySQL Community Server.

2. Quindi, avvia il server MySQL senza alcun controllo dei permessi. Per farlo, esegui:

$ sudo systemctl edit mysql

Questo aprirà il mysql systemd file di configurazione il tuo editor di testo predefinito. Nel mio caso, è nano editore.

Aggiungi le seguenti righe:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

Dopo aver aggiunto le righe precedenti, premi CTRL+O e ENTER per salvare il file e quindi premere CTRL+X per chiuderlo.

Qui, il --skip-grant-tables l'opzione consente di connettersi al server di database MySQL senza password e con tutti i privilegi. Disattiverà anche le dichiarazioni di gestione dell'account come ALTER USER e SET PASSWORD . E il --skip-networking viene utilizzata per impedire agli altri client di connettersi al server di database. Poiché disabilita tutte le connessioni remote, nessuno dei client remoti può accedere al server del database finché non riavvii normalmente il server del database.

3. Ricarica systemd configurazione utilizzando il comando:

$ sudo systemctl daemon-reload

4. Avvia il servizio MySQL:

$ sudo systemctl start mysql

Questo avvierà il server MySQL con --skip-grant-table se --skip-networking opzioni. Puoi verificarlo controllando lo stato del servizio MySQL:

$ sudo systemctl status mysql
 ● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Drop-In: /etc/systemd/system/mysql.service.d
              └─override.conf
      Active: active (running) since Mon 2021-05-31 11:39:18 UTC; 1min 23s ago
     Process: 1882 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Main PID: 1905 (mysqld)
      Status: "Server is operational"
       Tasks: 36 (limit: 2280)
      Memory: 331.0M
      CGroup: /system.slice/mysql.service
              └─1905 /usr/sbin/mysqld --skip-grant-tables --skip-networking
 May 31 11:39:16 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 11:39:18 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.

5. Ora connettiti al server MySQL come root utente senza password:

$ sudo mysql -u root

Verrai immediatamente reindirizzato al prompt della shell MySQL.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

6. Abbiamo effettuato l'accesso al server del database senza caricare le tabelle di concessione (perché abbiamo usato --skip-grant-tables opzione). Quindi non possiamo usare ALTER USER comando di cui aveva bisogno per reimpostare la password. Per caricare le tabelle di concessione, esegui il seguente comando dal prompt della shell di MySQL:

mysql> FLUSH PRIVILEGES;

7. Quindi, esegui uno dei seguenti comandi per ripristinare MySQL root password.

Se stai usando caching_sha2_password plug-in, esegui:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password123#@!';

Se usi mysql_native_password plug-in, esegui invece questo:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password123#@!';

Sostituisci Password123#@! con il tuo.

Dopo aver modificato la root di MySQL password, esci dal prompt della shell MySQL:

mysql> exit

8. Ripristina il systemd modificato ripristinare le impostazioni normali utilizzando il comando:

$ sudo systemctl revert mysql

Questo rimuoverà tutti i file modificati.

Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.

9. Ricarica systemd configurazione per rendere effettive le modifiche:

$ sudo systemctl daemon-reload

10. Infine, riavvia normalmente il server MySQL:

$ sudo systemctl restart mysql

11. Ora dovresti essere in grado di connetterti al database MySQL come root utente con il new password usando il comando:

$ mysql -u root -p

Inserisci la root password per accedere al prompt della shell MySQL:

mysql> 

C'è anche un altro modo per cambiare MySQL root password in Linux. È leggermente diverso da questo metodo. Se sei interessato a sapere, dai un'occhiata al seguente link:

>> How To Reset MySQL Root User Password In Linux

Conclusione

Come puoi vedere, reimpostare la password di root di MySQL è facile! Se hai seguito attentamente i passaggi precedenti, puoi recuperare la password di root del database MySQL in un paio di minuti. Non perderlo di nuovo. Memorizza o salva la tua password in un luogo sicuro.


Ubuntu
  1. Come reimpostare la password di root MySql

  2. Come reimpostare la password di root MySql

  3. Come reimpostare la password di Ubuntu?

  4. Come reimpostare la password di root server MySQL

  5. Come reimpostare la password di root di MySQL

Come reimpostare la password di root di MySQL

Come ripristinare la password di root di Ubuntu 22.04 LTS

Come modificare la password di root in Ubuntu Linux

Come reimpostare la password di root dimenticata in Ubuntu

Come reimpostare la password di root dimenticata in Ubuntu Linux

Come reimpostare la password di root su Ubuntu 22.04