当你在Navicat中想要创建一个MySQL数据库的新的连接的时候,密码是什么,凭印象填上一个自己常用的密码,点击确认的时候,却出现1045错误。
把自己用过的所有密码都套上去的时候,全部出现这个1045错误,那你开始慌了呀,我急着用数据库,咋办咋办呢?
赶紧全网搜索,这该咋办,
找到发布最多的解决方法就是:
1、以管理员身份运行cmd
2、查看MySQL是否已经启动,如果已经启动,那么就停止MySQL。(在cmd中键入net stop mysql)
3、切换到MySQL的安装路径下(当然如果你已经配置了环境变量,就可以不用进行路径切换了)。
4、在命令行键入:mysqld -nt --skip-grant-tables。(躲过权限)
5、在命令行键入:mysql,回车,如果成功,将出现MySQL提示符。
6、连接权限数据库:use mysql。
7、改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号)。
8、刷新权限:flush privileges;(必须步骤)
9、重启。
然而再第4步的时候你会发现键入mysqld -nt --skip-grant-tables这个命令之后CMD根本就不能动了,我今天傻乎乎的以为它会产生一个什么回应,等了好一会,直接睡了个午觉。起来之后发现还是没回应,就以为是哪里错了...
如果你遇到这一步,哥,别慌,重新启动一个管理员权限的CMD,然后在这个CMD上面进行6-9步。
6、连接权限数据库:use mysql。
7、改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号)。
8、刷新权限:flush privileges;(必须步骤)
9、重启。
Navicat中也不会报错了。
----------
记下来的原因是,我估计我以后会多次遇到这个问题。
果不其然,在我写完这篇博客,打算建一个数据库的时候又遇到了,🙂
不过这次在修改密码的时候出现了新的报错情况
之后我找到一篇博客,https://www.cnblogs.com/wangbaobao/p/7087032.html,按照他的顺序,能够轻松解决。
>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.18-log MySQL Community Server (GPL)
Copyright (c) 2000, 2017, 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> select User from user; #此处为查询用户命令
+-----------+
| User |
+-----------+
| ******* |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)
mysql> update user set password=password("*******") where user="*******"; #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******'; #修改密码成功
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> quit
Bye
n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>