GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie melde ich mich als Root in Mysql an?

Ich habe MySQL installiert und während der Installation wurde ich nach einem Passwort gefragt, das ich eingegeben habe, aber jetzt sagt mein Lehrer, dass wir uns ohne Passwort als root anmelden können sollten.

Das funktioniert, aber ich bekomme keine Privilegien:

Das funktioniert nicht:

Dies auch nicht

Akzeptierte Antwort:

Ursache des Problems

Die Standardkonfiguration für die Anmeldung als root user in MySQL 5.7 erfordert die Verwendung eines Authentifizierungs-Sockets. Dies kann durch Abfragen des user überprüft werden Tabelle:

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)

Aus der Dokumentation:

Das Socket-Plug-In prüft, ob der Socket-Benutzername (der Benutzername des
Betriebssystems) mit dem MySQL-Benutzernamen übereinstimmt, der vom Client
-Programm für den Server angegeben wird. Stimmen die Namen nicht überein, prüft das Plug-in,
ob der Socket-Benutzername mit dem Namen übereinstimmt, der in der Spalte
authentication_string der Systemtabellenzeile mysql.user angegeben ist. Wird eine
Übereinstimmung gefunden, lässt das Plugin die Verbindung zu.

Mit anderen Worten, für mysql ist standardmäßig kein Root-Passwort festgelegt – Sie müssen phpMyAdmin entweder als Root oder über sudo ausführen (beides aus Sicherheitsgründen keine gute Idee), oder Sie ändern die Authentifizierungsmethode und setzen das Root-Passwort zurück, wie im Digital Ocean-Tutorial gezeigt.

Beachten Sie, dass abgesehen vom gleichen Namen MySQL-Benutzer und Systembenutzer nicht identisch sind. Sie können einen MySQL-Benutzer jdoe haben und keinen solchen Benutzer auf dem Hostsystem haben. Also root ist der Root-Benutzer von MySQL, nicht der Systembenutzer.

Schritte zum Ändern von Plugin und Passwort:

  1. Öffnen Sie das Terminal und führen Sie sudo mysql -u root aus . Sie sollten eine Begrüßungsnachricht und mysql> sehen prompt. Dies ist die MySQL-Shell, die sich von Ihrer Befehlszeilen-Shell unterscheidet, daher werden hier nur SQL-Anweisungen akzeptiert.

  2. Geben Sie die folgende Sequenz von SQL-Abfragen ein:

    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. Beenden und versuchen, sich anzumelden:

    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> 
    

Wenn alles gut geht, sollten Sie sich über das neue Passwort von phpMyAdmin anmelden können. Wenn etwas schief geht, versuchen Sie, den Server ohne Berechtigungsprüfung neu zu starten (das ist Schritt Nr. 3 im Digital Ocean-Tutorial). Bei anderen Problemen können Sie hier oder auf Database Administrators – Stack Exchange

eine weitere Frage stellen Verwandt:Erstellen Sie LOG-Dateien, wenn Sie mehrere DATA-Dateien für tempdb erstellen?
Ubuntu
  1. So setzen Sie das Root-MySql-Passwort zurück

  2. So setzen Sie das Root-MySql-Passwort zurück

  3. So installieren Sie MySQL auf AlmaLinux 8

  4. So setzen Sie das Root-Passwort MySQL Server zurück

  5. So installieren Sie MySQL unter Ubuntu 18.04 LTS

So erstellen Sie einen MySQL-Datenbankbenutzer in cPanel

So löschen Sie einen MySQL-Datenbankbenutzer in cPanel

So setzen Sie ein vergessenes Root-Passwort in Ubuntu zurück

So setzen Sie das MySQL-Root-Passwort zurück

So öffnen Sie den Ubuntu-Dateimanager als Root-Benutzer

So beschränken Sie den Root-Benutzer in CentOS