Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Lösen Sie das Problem eines falschen MySQL-Passworts unter Linux

Lösen Sie das Problem eines falschen MySQL-Passworts unter Linux

hzc
hzcOriginal
2020-06-06 16:01:565406Durchsuche

Lösen Sie das Problem eines falschen MySQL-Passworts unter Linux

Lösung für falsches MySQL-Passwort unter Linux:

Vorwort

Nachdem ich heute MySQL auf dem Server installiert habe, habe ich das gefunden Passwort nach der Anmeldung Fehler, aber ich habe kein Passwort festgelegt Schließlich erfuhr Baidu, dass MySQL nach Version 5.7 automatisch ein anfängliches Passwort erstellt.

Der Fehler wird wie folgt gemeldet:

[root@mytestlnx02 ~]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Passwort ändern

1. Überprüfen Sie, ob der mysql-Dienst gestartet ist, schließen Sie den mysql service

rrree

2 . Ändern Sie die Konfigurationsdatei von mysqlmy.cnf

my.cnf. Einige Versionen befinden sich in /etc/my.cnf/etc/mysql/my.cnf

. Fügen Sie in der Konfigurationsdatei 2 hinzu. Die Funktion des Zeilencodes

//查看mysql服务状态
[root@mytestlnx02 ~]# ps -ef | grep -i mysql
root     22972     1  0 14:18 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql    23166 22972  0 14:18 pts/0    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root     23237 21825  0 14:22 pts/0    00:00:00 grep -i mysql
//关闭服务
[root@mytestlnx02 ~]# service mysql stop
[root@mytestlnx02 ~]#

besteht darin, die Passwortüberprüfung bei der Anmeldung bei MySQL zu überspringen

und dann den MySQL-Dienst zu starten und geben Sie MySQL ein

[mysqld]
skip-grant-tables

3. Ändern Sie das Passwort

Stellen Sie eine Verbindung zur MySQL-Datenbank her und ändern Sie das Benutzerpasswort

[root@mytestlnx02 ~]# service mysqld start
[root@mytestlnx02 ~]#
[root@mytestlnx02 ~]# mysql -u root 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

4. Starten Sie den MySQL-Dienst neu

Kommentieren oder löschen Sie zunächst die beiden zuvor zur Konfigurationsdatei hinzugefügten Codezeilen und starten Sie dann den MySQL-Dienst neu. Melden Sie sich mit dem gerade festgelegten Passwort an.

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> update mysql.user set authentication_string=password('root_password') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql> exit

funktioniert unter CentOS anders.

Beim Ausführen des Befehls zum Ändern des Passworts wird immer wieder ein Fehler gemeldet

[root@mytestlnx02 ~]# service mysql start
[root@mytestlnx02 ~]#
[root@mytestlnx02 ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
p.s.

Es kann kein Syntaxproblem sein und ich habe schließlich festgestellt, dass es unter CentOS so gemacht werden sollte :

Anfangspasswort anzeigen

mysql> update user set authentication_string=password('xxxxxxxx') where User='root';       
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('root_password') where User='root'' at line 1

Sie können sehen, dass das Anfangspasswort DN34N/=?aIfZ lautet

Verwenden Sie das Anfangspasswort, um sich anzumelden

[root@VM_0_8_centos ~]# grep 'temporary password' /var/log/mysqld.log
2018-09-26T04:25:54.927944Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: DN34N/=?aIfZ

Passwort ändern

[root@VM_0_8_centos ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.12 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Es wird wirksam


mysql> ALTER USER 'root' IDENTIFIED BY 'xxxxxxxxx';  
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxxxx';
Query OK, 0 rows affected (0.11 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
重启服务

Empfohlenes Tutorial: „

Linux-Tutorial

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem eines falschen MySQL-Passworts unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn