赞
踩
目录
MySQL技术论坛: MySQL :: MySQL Forums
觉得不错关注扫一扫底部弹框 二维码 【回复:MySQL1045】同款
错误1045(28000):用户'root'@'localhost'(使用密码:YES)拒绝访问
首先解析此英文:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);
解析的地方有两处:Access denied 和using password;结合如下:
①Access denied(拒绝访问:用户名和地址);
②using password:NO(使用密码:没有使用);
③using password:YES(使用密码:正在使用);
原因分析:出现access denied的原因有如下可能:
1)mysql的服务器停止
2)服务的端口号
3)mysql的配置文件错误----my.ini等文件
4)root用户的不使用密码,但是拒绝访问(密码不使用,本地拒绝访问)
5)root用户的使用密码正确,但是拒绝访问(密码使用,本地拒绝访问)
①my.ini 配置文件路径问题
②my.ini 配置文件内容问题
原因一解决办法:若MySQL已经没有启动,重启MySQL服务器:net start mysql
原因二解决办法:若服务的端口号(3306/3307)不一致,打开my.ini文件进行编辑。全部将端口编辑替换为: port=X(如:port=3306)
原因三解决办法:my.ini文件误输入无效内容,不知道到何处。复制替换该文件;有人已经对my.ini文件进行解释以及注释(非博主的文章)my.ini文件参数中文注释_lienfeng6的博客-CSDN博客_ini文件注释
原因四解决办法:root用户密码正确,但是拒绝登录,本博文章主要内容【解决方案】
①my.ini 配置文件内容问题
②my.ini 配置文件内容问题
出现 using password的原因如下是:
到安装的MySQL的目录下,找my.ini文件;
在[mysqld]后添加skip-grant-tables(使用 set password for设置密码无效,且此后登录无需键入密码)
skip-grant-tables #在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查
如上步骤:尽量少操作 (是指添加 skip-grant-tables)
备注:添加后可以不输入密码进入MySQL服务哦!!!
- 停止运行 net stop mysql
- 启动运行 net start mysql
登录mysql,键入mysql –uroot –p;直接回车(Enter)
此时您想键入 set password for ‘root’@‘localhost’=password(‘123456’); 此命令是无效!!!
因为在my.ini文件添加skip-grant-tables从此后无需键入密码
进入MySQL服务后,先再把my.ini的skip-grant-tables删除,在修改密码,然后重启MySQL服务器:net stop mysql ;net start mysql;
步骤一:打开cmd 命令行,键入 mysql -uroot -p 回车两次即可进入mysql
步骤二:把my.ini的配置文件中 skip-grant-tables删除或者注释即可
步骤三:再次进行设置密码:set password for ‘root’@‘localhost’=password(‘123456’);
set password for ‘root’@‘localhost’=password(‘123456’);
步骤四:重启MySQL服务
步骤五:验证
即设置mysql密码成功。
skip-name-resolv #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时候。但是需要注意的是,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式了,否则MySQL将无法正常处理连接请求!
如果如上仍然不行,
以上方法仍然行不通,只能请您更换您计算机或者重装操作系统!!!
而且socket连接客户端和服务端需要在同一机器才行----不确定呢
配置 skip name resolve
参考1:关于skip_name_resolve参数的总结 - 走看看
参考2:关于skip_name_resolve参数的总结 - iVictor - 博客园
参考3:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。