it-swarm.com.de

Bei der Installation werden Sie von mysql nicht nach dem root-Passwort gefragt

Ich habe apt install mysql-server verwendet, um MySQL unter Ubuntu 16.04 zu installieren, aber während der Installation wurde nicht nach dem root-Passwort gefragt.

Nach der Installation bekam ich ERROR 1045, als ich versuchte, mich als root anzumelden, und mysql_secure_installation warf den gleichen Fehler auf. Ich purged und autoremoved dann neu installiert, aber es funktioniert nicht.

Wie könnte ich das beheben? Kann ich das root-Passwort festlegen, wenn ich es während der Installation nicht festgelegt habe?

Dies ist mein Installationsprotokoll:

Die folgenden zusätzlichen Pakete werden installiert: 
 Libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server-5.7 
 Mysql-server-core-5.7 
 Vorgeschlagene Pakete : 
 mailx tinyca 
 Die folgenden NEUEN Pakete werden installiert: 
 libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server mysql-server-5.7 
 mysql-server-core-5.7 
 0 aktualisiert, 6 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. 
 Benötigt 0 B/17,9 MB Archive. 
 Nach diesem Vorgang werden 160 MB zusätzlicher Speicherplatz verwendet. 
 Möchten Sie fortfahren? [Y/n] y 
 Vorkonfigurieren von Paketen ... 
 Auswählen des zuvor nicht ausgewählten Pakets libaio1: AMD64. 
 (Lesen der Datenbank ... 227144 Dateien und Verzeichnisse, die derzeit installiert sind.) 
 Vorbereiten des Auspackens .../libaio1_0.3.110-2_AMD64.deb ... 
 Auspacken von libaio1: AMD64 (0.3.110-2) ... 
 Auswählen eines zuvor nicht ausgewählten Pakets mysql- client-core-5.7. 
 Entpacken vorbereiten .../mysql-client-core-5.7_5.7.12-0ubuntu1_AMD64.deb ... 
 mysql-client-core-5.7 entpacken (5.7 .12-0ubuntu1) ... 
 Auswählen des zuvor nicht ausgewählten Pakets mysql-client-5.7. 
 Vorbereiten des Entpackens .../mysql-client-5.7_5.7.12-0ubuntu1_AMD64.deb ... 
 Entpacken von mysql-client-5.7 (5.7.12-0ubuntu1) ... 
 Auswählen des zuvor nicht ausgewählten Pakets mysql-server-core-5.7. 
 Vorbereiten des Entpackens .../mysql-server-core-5.7_5.7.12-0ubuntu1_AMD64.deb ... 
 Entpacken von mysql-server-core-5.7 (5.7.12-0ubuntu1) ... 
 Auswählen des zuvor nicht ausgewählten Pakets mysql -server-5.7. 
 Vorbereiten Entpacken .../mysql-server-5.7_5.7.12-0ubuntu1_AMD64.deb ... 
 Entpacken von mysql-server-5.7 (5.7.12-0ubuntu1) ... 
 Vorher auswählen nicht ausgewähltes Paket mysql-server. 
 Entpacken wird vorbereitet .../mysql-server_5.7.12-0ubuntu1_all.deb ... 
 Entpacken von mysql-server (5.7.12-0ubuntu1) ... 
 Verarbeitungsauslöser für libc-bin (2.23-0ubuntu3) ... 
 Verarbeitungsauslöser für man-db (2.7.5-1) ... 
 Verarbeitungsauslöser für systemd (229 -4ubuntu4) ... 
 Verarbeitung von Triggern für ureadahead (0.100.0-19) ... 
 Einrichten von libaio1: AMD64 (0.3.110-2) ... 
 Einrichten von mysql-client-core-5.7 (5.7.12-0ubuntu1) ... 
 Einrichten von mysql-client-5.7 (5.7.12-0ubuntu1) ... 
 Einrichten von mysql- server-core-5.7 (5.7.12-0ubuntu1) ... 
 mysql-server-5.7 (5.7.12-0ubuntu1) ... 
 update-alternatives: using/etc/mysql/mysql.cnf, um /etc/mysql/my.cnf (my.cnf) im automatischen Modus bereitzustellen 
 Überprüfen, ob ein Update erforderlich ist. 
 Diese Installation von MySQL ist bereits auf 5.7.12 aktualisiert, verwenden Sie --force, wenn Sie mysql_upgrade noch ausführen müssen 
 mysql-server einrichten (5.7.12-0ubuntu1) ... 
 Trigger für libc-bin verarbeiten ( 2.23-0ubuntu3) ... 
54
spqa

Sie können das root-Passwort wiederherstellen oder festlegen, ohne das aktuelle zu kennen, indem Sie mysql starten, ohne die Grant-Tabellen zu laden.

Bitte beachten Sie die $ in den Befehlen. Dies gibt die Terminal-Eingabeaufforderung an, die beim Eingeben des Befehls angezeigt wird. Es zeigt, dass es sich um eine Textzeile handelt, aber um einen tatsächlich eingegebenen Terminalbefehl. Das "mysql>"Präfix ist auch eine Eingabeaufforderung. Dies ist die Eingabeaufforderung, die Sie erhalten, wenn Sie mysql interaktiv ausführen.

Dies ist die cli (Befehlszeile), um dies zu tun:
(Seien Sie sicher, stoppen Sie den aktuellen Server bevor Sie die Schritte ausführen. Es kann immer nur ein Server gleichzeitig laufen.)

$ Sudo mkdir /var/run/mysqld; Sudo chown mysql /var/run/mysqld
$ Sudo mysqld_safe --skip-grant-tables&

Jetzt können Sie sich als root ohne Passwort anmelden und alle Befehle ausführen, in diesem Fall legen Sie das root-Passwort als root fest.

$ Sudo mysql --user=root mysql

Dies ist das festgelegte root-Passwort, das Sie in mysql ausführen, wenn Sie MySQL 5.6 oder niedriger haben:

mysql> update user set Password=PASSWORD('new-password') where user='root';
flush privileges;

In MySQL 5.7 oder höher

mysql> update user set authentication_string=PASSWORD('new-password') where user='root';
flush privileges;

Beenden Sie von dort aus (beenden Sie die laufende msqld) mysql und starten Sie sie wie gewohnt.

Hinweise zum Starten und Stoppen des mysql-Dienstes:

Stoppen Sie mysql:

$ Sudo service mysql stop

Starte mysql (normal):

$ Sudo service mysql start

Beenden Sie die temporäre Sitzung im abgesicherten Modus von MySQL:

$ Sudo mysqladmin shutdown
57
L. D. James

Während der Installation von mysql in Ubuntu 16.04 wird nicht nach dem Passwort gefragt, aber Sie können es nach erfolgreicher Installation folgendermaßen einstellen:

Führen Sie nach Abschluss der Installation von mysql den folgenden Befehl aus:

_Sudo mysql_secure_installation
_

Wird sich zeigen:

HINWEIS: ALLE TEILE DIESES SCRIPTS LAUFEN IS EMPFOHLEN FÜR ALLE MariaDB-SERVER IM PRODUKTIONSBEREICH! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG DURCH!

Um sich bei MariaDB anzumelden, benötigen wir das aktuelle Passwort für den Root-Benutzer. Wenn Sie gerade MariaDB installiert haben und das Root-Passwort noch nicht festgelegt haben, ist das Passwort leer. Drücken Sie hier einfach die Eingabetaste.

Enter current password for root (enter for none): (hier Enter drücken)

OK, erfolgreich verwendetes Passwort, weiter ...

Durch das Festlegen des Root-Passworts wird sichergestellt, dass sich niemand ohne die entsprechende Berechtigung beim MariaDB-Root-Benutzer anmelden kann.

_Set root password? [Y/n] y   (press 'y' to set new password)
New password: 
Re-enter new password:
_

Passwort erfolgreich aktualisiert! Berechtigungstabellen werden neu geladen ... ... Erfolgreich!


Für Ubuntu 18.04 OR _mysql-server_ Version 5.7.22, FUNKTIONIERT DIESE METHODE NICHT

Um das root-Passwort in Ubuntu 18.04 festzulegen, folge zuerst den ersten drei Befehlen oder den ersten beiden Schritten von L.D. James 'Antwort und führe dann Folgendes aus:

_mysql> alter user 'root'@'localhost' identified by '<password>';
_

Passwort für root Benutzer ist gesetzt!

OR

Befolgen Sie diese Schritte, um das root-Passwort in 18.04 festzulegen:

Da für den Root-Benutzer kein Passwort festgelegt ist, melden Sie sich einfach mit leeres Passwort an

_Sudo mysql -u root -p
Enter password: (press enter as no password is set)
_

danach kann einfach abfrage laufen

_ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';
_
37
d a i s y

Anscheinend erlaubt die Installation von mysql-server unter 16.04 (oder einer beliebigen 5.7-Installation?) Den Root-Zugriff nicht über ein Passwort, sondern über das auth_socket Plugin. Wenn Sie Sudo mysql -u root (ohne Kennwort) ausführen, erhalten Sie eine MySQL-Konsole, während Sie bei Ausführung des Befehls ohne Root-Berechtigung zur Eingabe eines Kennworts aufgefordert werden.

Es scheint, dass das Ändern des Passworts keinen großen Unterschied macht, da das Authentifizierungs-Backend nicht einmal nach einem Passwort sucht. Es gibt einen sehr umfassenden Artikel darüber, wie man das Plugin ändert und zur Passwortauthentifizierung wechselt .

16
carp

Nach der Installation nur:

1.

Sudo mysql

(ja, kein Benutzer kein Pass)

2.Sie befinden sich jetzt in der MySQL-Konsole:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';

3.

FLUSH PRIVILEGES;

  1. Das ist es. Sie können die Konsole jetzt wie gewohnt das nächste Mal aufrufen:

    mysql -u root -p mein_neu_pass

7
DimiDak
  1. es gibt ein Standard-Benutzerkonto.

    $ vim /etc/mysql/debian.cnf 
    

    sie erhalten dieses Konto folgendermaßen:

    user     = debian-sys-maint
    password = nUZTARYslBsASzpw
    
  2. sie melden sich mit diesem Konto an

    $ mysql -u debian-sys-maint -p
    
  3. bearbeiten Sie Ihr root-Passwort

    mysql> show databases;
    
    mysql> use mysql;
    
    mysql> update user set authentication_string=PASSWORD("new_password") where user='root';
    
    mysql> update user set plugin="mysql_native_password";
    
    mysql> flush privileges;
    
    mysql> quit;
    
  4. starte mysql neu

    $ /etc/init.d/mysql restart;
    

dann kannst du mysql -u root -p mit deiner vorherigen Einstellung.

3
pwxcoo

Zur Hauptantwort hinzufügen: Wenn Sie nicht weiterkommen

"mysqld_safe mysqld daemon mit Datenbanken aus/var/lib/mysql starten"

Beachten Sie, dass Sie ein anderes Terminalfenster verwenden müssen, um den folgenden Befehl einzugeben.

$ Sudo mysql --user=root mysql

Wenn Sie versuchen, dies im selben Fenster zu tun, wird der mysqld-Safemode-Prozess beendet.

0

So richten Sie mysql-server mit einer Eingabeaufforderung für das Terminalkennwort in Ubuntu 18.10 ein.

  1. Laden Sie das MySQL APT -Repository über https://dev.mysql.com/downloads/repo/apt/ herunter
  2. cd in Ihr Verzeichnis, in das Sie dpkg -i mysql-apt-config_0.8.13-1_all.deb heruntergeladen und ausgeführt haben (überprüfen Sie Ihre Versionsnummer)
  3. Wählen Sie im Menü Eingabeaufforderung die letzte Option "OK" und dann erneut "OK".

  4. Aktualisiere und installiere mysql-server und mysql-client:

Sudo apt update 
 Sudo apt installiert den mysql-server mysql-client
  1. Geben Sie Ihr root-Passwort in die Eingabeaufforderung ein.
  2. Wählen Sie "Use Legacy Authentication Method", wenn Ihre laufenden Frameworks/Anwendungen (z. B. laravel) das neue "Strong Password Encryption" noch nicht unterstützen, andernfalls, wenn Ihr Framework/Ihre Anwendung "Strong Password Encryption" unterstützt, wählen Sie es aus.
  3. Melden Sie sich als root an und prüfen Sie, ob es funktioniert.
0
ThomasAFink