GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come accedere come root in MySQL?

Ho installato MySQL e durante l'installazione mi è stata chiesta una password che ho inserito, ma ora il mio insegnante dice che dovremmo essere in grado di accedere come root senza alcuna password.

Funziona ma non ottengo alcun privilegio:

Questo non funziona:

Nemmeno questo

Risposta accettata:

Causa del problema

La configurazione predefinita per l'accesso come root utente in MySQL 5.7 richiede l'uso di un socket di autenticazione. Questo può essere verificato interrogando l'user tabella:

mysql> select user,authentication_string,plugin from user where user='root';
+------+-----------------------+-------------+
| user | authentication_string | plugin      |
+------+-----------------------+-------------+
| root |                       | auth_socket |
+------+-----------------------+-------------+
1 row in set (0.00 sec)

Dalla documentazione:

Il plug-in socket controlla se il nome utente del socket (il nome utente del sistema operativo
) corrisponde al nome utente MySQL specificato dal programma client
al server. Se i nomi non corrispondono, il plug-in verifica
se il nome utente del socket corrisponde al nome specificato nella colonna
stringa_autenticazione della riga della tabella di sistema mysql.user. Se viene trovata una corrispondenza
, il plug-in consente la connessione.

In altre parole, mysql per impostazione predefinita non ha la password di root impostata:devi eseguire phpMyAdmin come root o tramite sudo (entrambi sono una cattiva idea per motivi di sicurezza), oppure modifichi il metodo di autenticazione e reimposta la password di root come mostrato nel tutorial di Digital Ocean.

Nota che a parte lo stesso nome, gli utenti MySQL e gli utenti del sistema non sono gli stessi. Puoi avere un utente MySQL jdoe e non hanno tale utente sul sistema host. Quindi, root è l'utente root di MySQL, non l'utente di sistema.

Passaggi per modificare plug-in e password:

  1. apri il terminale ed esegui sudo mysql -u root . Dovresti vedere un messaggio di saluto e mysql> richiesta. Questa è la shell MySQL, che è diversa dalla shell della riga di comando, quindi qui sono accettate solo le istruzioni SQL.

  2. Immettere la seguente sequenza di query SQL:

    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql>  UPDATE user SET plugin='mysql_native_password',authentication_string=PASSWORD('newpassword') WHERE user = 'root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1
    
  3. Esci e prova ad accedere:

    mysql> exit
    Bye
    
    $ sudo systemctl restart mysql
    $ sudo mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.7.21-1 (Debian)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    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> 
    

Se tutto va bene, dovresti essere in grado di accedere da phpMyAdmin tramite la nuova password. Se qualcosa va storto, prova a riavviare il server senza il controllo delle autorizzazioni (questo è il passaggio n. 3 nel tutorial di Digital Ocean). Per altri problemi, sentiti libero di porre un'altra domanda qui o su Amministratori database:Stack Exchange

Correlati:creare file LOG durante la creazione di più file DATI per tempdb?
Ubuntu
  1. Come reimpostare la password di root MySql

  2. Come installare MySQL su AlmaLinux 8

  3. Come reimpostare la password di root server MySQL

  4. Come installare MySQL su Ubuntu 18.04 LTS

  5. Come reimpostare la password di root di MySQL

Come creare un utente di database MySQL in cPanel

Come eliminare un utente del database MySQL in cPanel

Come reimpostare la password di root dimenticata in Ubuntu

Come reimpostare la password di root di MySQL

Come aprire il file manager di Ubuntu come utente root

Come limitare l'utente root in CentOS