MySQL数据库中1045错误的解决方法--Windows系统

记得有一次我在公司加班到半夜,突然电脑上弹出一条MySQL错误信息,吓得我心都凉了。
屏幕上显示“错误 1 04 5 (2 8 000):用户‘root’@‘localhost’访问被拒绝(使用密码:YES)”。
唉,这个老习惯又犯了。

我很快打开任务管理器并杀死了所有 MySQL 进程。
可用的 MacBook Pro 上的 MySQL 安装在 /usr/local/mysql 中。
找到 my.ini 文件并使用 TextEdit 打开它。
在 [mysqld] 之后添加“跳过授权表”确实有效。
当我存钱的时候,我去咖啡店买了一杯咖啡。
当我回来时,我意识到我忘记关闭机场模式,这花了太长时间。

当我在命令行输入“mysql -u root -p”时,发现光标没有闪烁。
等等,您需要先禁用密码验证。
输入“skip-grant-tables”后终于进入了。
在此版本中,甚至“显示数据库;”报告错误。
您应该使用“status”命令来检查状态。
修改密码的命令没变:“use mysql; update用户组password=password('newpassword') where user='root';”需要十多秒的时间才能完成执行。

最搞笑的是,最后要重置权限验证,必须先停止服务。
顺便说一下,这次我评论了“网络旁路”,虽然这一般不会在生产环境中使用。
当我重新启动服务时,发现进度条极其缓慢。
我盯着那个小黑点足足看了两分钟。
现在我必须等待三秒钟才能登录。
如果我知道的话我就不会改变它。

不过话说回来,这个bug确实就像家里的水管漏水一样——表面上看是水龙头拧不紧,但真正需要检查的是水压问题。
有时权限设置显然是正确的,但可能还有更深层次的问题尚未解决。

在用Navicat连接mysql时出错了 出现1045的错误提示

等等,我上周帮小李拿服务器的时候就遇到了这个情况。
他无法远程连接数据库,很困惑。
我一看,哦,root密码还是默认的1 2 3 我说你怎么可以呢?后来我给他创建了一个名为dbadmin的新用户,将密码设置得复杂一些,然后给了他一些必要的权限,指定他只能访问那些业务表。
他尝试了一下,说有效。
我提醒他不要上网。
如果有人知道默认密码,它将终止。
他点点头。
但话虽如此,它的小应用程序只供三个人使用。
有必要做这么复杂的权限检查吗?但以防万一。

mysql连接报错1044 mysql连接报错1045

mysql ERROR 1045 : 错误解决办法

嗨,MySQLERROR1 04 5 真的很烦人。
上周,一位客户就因为这个问题被困了很长时间。
想想看,如果你突然无法连接数据库,并出现“用户访问被拒绝”的提示,那么你一定很担心。
别惊慌,我会引导你完成它。
我已经了解了所有这些陷阱。

---
1 . 暂时禁用密码验证
查找配置文件:首先要找到my.ini。
对于 Windows 系统,通常位于 C:\ProgramData\MySQL\MySQL Server X.Y 或安装目录中。
用记事本打开它,而不是Word。
更改配置:将skip-grant-tables行添加到[mysqld]部分。
这意味着跳过权限检查,直接进入系统。
保存时,请注意记事本可能会显示“格式无效”消息。
本例中,将其另存为my.ini.bak,复制回原目录,然后启动MySQL。
重启服务:进入“服务”管理器找到“MySQL”,右键重启。
这时候就可以直接使用mysql -u root -p来连接了。
无需密码。

---
2 、登录MySQL并重置密码
无密码登录:打开CMD,输入mysql -u root -p,回车时不要输入密码,直接回车即可。
切换数据库:输入use mysql;切换到系统数据库。
重置密码:这里分两种情况: MySQL 5 .7 或更早版本:运行 UPDATE user SET password=PASSWORD('newpassword') WHERE user='root';,然后运行 FLUSH PRIVILEGES;。
MySQL 5 .7 及更高版本:直接使用 ALTER USER 'root'@'localhost'identified by 'newpassword';。
旧版本的 PASSWORD() 函数不兼容。
验证:退出 MySQL 并尝试使用新密码登录。
如果无法连接,请检查是否忘记删除Skip-Grant表。

---
3 .恢复密码验证机制
更改配置文件:删除my.ini中添加的Skip-Grant-tables行并保存。
重启服务:重启MySQL服务。

---
最后的话:这个技巧实际上可以解决大多数 1 04 5 问题,但不要一直这样做!密码仍然需要有点复杂,例如 Pa$$w0rd!。
上次看到有客户直接把数据库炸了,最后只好重装系统。
由你决定。