解决MySQL数据库中1045错误[1045 Access denied for user 'root'@'localhost' (using password:YES)]

数据库连接异常

1045 Access denied for user 'root'@'localhost' (using password:YES)
这种问题的本质是用户密码出现错误

解决方案

1.找到MySQL安装路径下的my.ini文件

在mysqld这个位置,添加skip-grant-tables

skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。启用这个参数之后,数据库的安全性会降低。

3.使用mysql命令修改

修改完成后,记得删除skip-grant-tables

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

PS C:\Windows\system32> mysql -u root -p
Enter password:#这个地方直接回车
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, 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> use mysql
Database changed
mysql> update user set password=password("root") where user="root";
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,password from user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | 127.0.0.1 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | ::1       | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
|      | localhost |                                           |
+------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

mysql>

3.windows重启服务

posted @ 2020-01-21 19:55  樱阙诗汀  阅读(15993)  评论(0编辑  收藏  举报