Ich muss das root-Passwort meiner lokalen MySQL-Installation zurücksetzen, aber es lässt mich nicht. Ich habe es versucht:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
[1]- Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
Wie kann ich das Passwort zurücksetzen lassen? edit 1 Ich habe folgendes bekommen:
$ ps ax| grep mysql
16515 ? Ssl 0:00 /usr/sbin/mysqld
16551 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ? Ssl 0:00 /usr/sbin/mysqld
16715 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Es sieht so aus, als würde ein Prozess automatisch mysql neu starten, sobald ich es beendet habe ...
dpkg-reconfigure mariadb-server-10.1
für MariaDB funktioniert hat, obwohl dies für alle anderen Lösungen nicht der Fall war. Danke dafür.dpkg-reconfigure
Ich habe kein Passwort abgefragt. Gibt es eine Möglichkeit, es zu erzwingen?Referenz aus diesem Blog entnommen:
Schritt 1: Beenden Sie den MySQL-Dienst.
Schritt 2: Beenden Sie alle laufenden mysqld.
Schritt 3: Starten von mysqld im abgesicherten Modus.
Schritt 4: Starten Sie den MySQL-Client
Schritt 5: Führen Sie nach erfolgreicher Anmeldung diesen Befehl aus, um ein Kennwort zu ändern.
Schritt 6: Sie können das mysql-root-Passwort aktualisieren.
für mysql> 5.7 benutze dies anstelle von oben:
Schritt 7: Bitte führen Sie diesen Befehl aus.
Schritt 8: Beenden Sie die MySQL-Konsole
Schritt 9: Töte mysqld_safe und starte mysql
quelle
sudo service mysql stop
, nichtsudo stop mysql
sudo killall mysqld_safe && sudo service mysql start
ALTER USER root IDENTIFIED BY 'NEW_PASSWORD_HERE'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASS';
. Sie können darüber lesen Sie hier . Theoretisch (ich habe es nicht versucht) sollten Sie in der Lage sein, sich ohne Passwort bei mysql anzumelden, wenn Sie "sudo su -", um root zu werden.ALTER USER ...
es nichtUPDATE mysql.user SET authentication_string = PASSWORD('NEWPASS'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
Unter Ubuntu 16.04 und
mysql-server-5.7
ist die korrekte Antwort der letzte Kommentar von olafure, derdpkg-reconfigure mysql-server-5.7
nicht mehr funktioniert.Jetzt in der MySQL-Konsole
>mysql
Starten Sie den guten
mysql
Prozess neuÜberprüfen Sie Ihr neues Passwort
quelle
mysqld_safe
Ausführung, erhalte ich die Fehlermeldung:Directory '/var/run/mysqld' for UNIX socket file don't exists.
. Also bin ich gelaufensudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
und der Rest der obigen Antwort funktioniert. Ist das ein Bug auf Ubuntu 16? Ich habe noch nie zuvor all diese Probleme beim Aktualisieren von Passwörtern erlebt.Beginnend mit MySQL 5.7 basiert die Authentifizierung für diesen Benutzer bei der Erstinstallation auf dem
auth_socket
Plugin , wenn Sie das Kennwort leer lassen .Die richtige Art, das Passwort zu ändern, ist:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
quelle
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
--skip-grant-tables
Option neu und sehen Sie, dass diese Lösung funktioniert.--skip-grant-tables
Option kann ich mich nicht einmal als root bei MySQL anmelden. Es heißtERROR 1698 (28000): Access denied for user 'root'@'localhost'
mysqld_safe
) als root ohne Passwort anmelden . Ich habe Ubuntu 18.04 und MySQL-Server-5.7. Diese Antwort hat mir geholfen, askubuntu.com/a/767252/585252 (siehe unterer Teil)Nichts aus den restlichen Antworten schien für mich zu funktionieren. Das ist meine Lösung:
Da drin:
Dann:
quelle
2017-05-30T06:33:22.291126Z mysqld_safe Logging to syslog. 2017-05-30T06:33:22.294375Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-05-30T06:33:22.296874Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
Dies ist auf MySQL 5.7 und Ubuntu 18.04 .Erstellen Sie eine Datei mit diesem:
Stoppen Sie den MySQL-Server und führen Sie Folgendes aus:
Weitere Informationen finden Sie hier: http://dev.mysql.com/doc/refman/5.0/de/resetting-permissions.html
quelle