Mysql数据库报ERROR 1045 (28000)报错及MySQL忘记密码找回

来源:这里教程网 时间:2026-03-01 12:47:18 作者:

案例:Mysql数据库报 ERROR 1045 (28000)报错;同时该方法适用于忘记MySQL Password找回;重新安装mysql手动清空mysqld.log日志文件导致初始 Password丢失 Password修改;  案例1:[root@zrbapp02 lib]# [root@zrbapp02 lib]# mysql -uroot -pmysqlmysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)[root@zrbapp02 lib]# [root@zrbapp02 lib]#  案例2:[root@zrbapp02 ~]# echo "" > /var/log/mysqld.log   ----清空mysqld.log日志文件后查不到[root@zrbapp02 ~]# [root@zrbapp02 ~]# grep 'temporary password' /var/log/mysqld.log   --mysqld.log日志文件查不到初始 Password[root@zrbapp02 ~]# [root@zrbapp02 ~]# [root@zrbapp02 ~]# systemctl restart mysqld[root@zrbapp02 ~]#  解决方法: 1、修改/etc/my.cnf文件中[mysqld]段增加 skip-grant-tables跳过认证 [root@zrbapp02 lib]# vi /etc/my.cnf #socket=/mysqldb/mysql/mysql.sock # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html [mysqld] skip-grant-tables # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M #datadir=/var/lib/mysql datadir=/mysqldb/mysql socket=/var/lib/mysql/mysql.sock #socket=/mysqldb/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid wq!  ----保存并退出 2、重启mysql数据库 [root@zrbapp02 lib]# systemctl restart mysqld [root@zrbapp02 lib]#  3、免密登录数据库并修改 Password [root@zrbapp02 lib]#  [root@zrbapp02 lib]# mysql  Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.25 MySQL Community Server (GPL) Copyright (c) 2000, 2019, 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>  mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | sys                | +--------------------+ 4 rows in set (0.24 sec) mysql>  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>  mysql>  mysql> update mysql.user set authentication_string=password('mysql') where user='root'; Query OK, 1 row affected, 1 warning (0.14 sec) Rows matched: 1  Changed: 1  Warnings: 1 mysql>  mysql>  flush privileges ; Query OK, 0 rows affected (0.00 sec) mysql>  mysql> exit Bye [root@zrbapp02 lib]#  [root@zrbapp02 lib]#  4、 注释掉 skip-grant-tables [root@zrbapp02 lib]# vi /etc/my.cnf # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html [mysqld] #skip-grant-tables # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M #datadir=/var/lib/mysql datadir=/mysqldb/mysql socket=/var/lib/mysql/mysql.sock #socket=/mysqldb/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid wq!   ----保存并退! 5、重启mysql数据库 [root@zrbapp02 lib]#  systemctl restart mysqld

[root@zrbapp02 lib]#  6、使用新 Password登录数据库 [root@zrbapp01 ~]#  [root@zrbapp01 ~]# mysql -uroot -pmysql mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.25 Copyright (c) 2000, 2019, 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>  mysql> show databases;   --查看数据库时要求使用ALTER USER  rest  Password ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql>  mysql> alter user'root'@'localhost' identified by'mysql';   ----重置 Password 提示 Password规则问题,不能使用简单 Password ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql>  mysql>  若需要设置简单 Password则按以下设置 Password规则即可; mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_mixed_case_count=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_number_count=3; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_special_char_count=0; Query OK, 0 rows affected (0.01 sec) mysql> set global validate_password_length=3; Query OK, 0 rows affected (0.00 sec) mysql> alter user'root'@'localhost' identified by'mysql'; Query OK, 0 rows affected (0.00 sec) mysql>  mysql>  mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | sys                | +--------------------+ 4 rows in set (0.00 sec) mysql>  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>  mysql> 

相关推荐