Win下Mysql根治ERROR 1045 (28000): Access denied for user的方法(绝对有效)
来源:互联网 发布:python实现svm smo 编辑:程序博客网 时间:2024/05/17 06:04
针对ERROR 1045 (28000): Access denied for user这个错误,网上大部分的办法是这样的:
1.停止Mysql服务
2.用mysqld -nt --skip-grant-tables方式启动(或者把my.ini里加一行-skip-grant-tables)
3.mysql -uroot直接进去
4.update user set password = password('newpass') where user = 'root';
5.结束mysqld -nt进程(或者去掉my.ini里的-skip-grant-tables)
6.启动Mysql服务
但是,这样做完之后,当你重启电脑后进入mysql却发现又出现ERROR 1045 (28000)了,用新修改的密码也进不了,这是为什么呢?
其实很简单,这是是一个数据路径的问题。
在Win平台下,Mysql的程序目录和数据目录默认是分开的,比如Mysql安装在 X:\Programs Files\Mysql 下,那么它的数据则存放在 X:\Programs Data\Mysql\Data 下,并且my.ini里的datadir默认也是 X:\Programs Data\Mysql\Data这样一来用-skip-grant-tables强制修改密码就有问题了,因为用 -skip-grant-tables 修改后的用户数据被放在了 X:\Programs Files\Mysql\Data 下面
以Mysql5.6为例,比如程序安装在F:\Programs Files\Mysql\Mysql Server 5.6\下,数据文件存放在F:\Programs Data\Mysql\Mysql Server 5.6\下,正常情况下,数据的修改只会影响F:\Programs Data\Mysql\Mysql Server 5.6\Data里的文件,但是如果你用 -skip-grant-tables 修改了用户表user的话,修改后的数据则放在了 F:\Programs Files\Mysql\Mysql Server 5.6\Data 里面(比如新修改的root密码),而F:\Programs Data\Mysql\Mysql Server 5.6\Data 里的用户信息根本没变,这样你下次用新修改的密码登录的时候自然还会出错,因此在update user set password = password('newpass') where user = 'root';之后,一定要把F:\Programs Files\Mysql\Mysql Server 5.6\Data\Mysql,F:\Programs Files\Mysql\Mysql Server 5.6\Data\performance_schema 这两个数据库文件夹 覆盖到 F:\Programs Data\Mysql\Mysql Server 5.6\Data 里面去,然后再启动mysql,问题就解决了~
- Win下Mysql根治ERROR 1045 (28000): Access denied for user的方法(绝对有效)
- Ubuntu下MySQL的“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”
- Ubuntu下 MySQL的“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)”
- Mysql: ERROR 1045 (28000): Access denied for user
- mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- MySQL Error 1045(28000) Access Denied for user 'root'@'localhost'
- mysql笔记: ERROR 1045 (28000): Access denied for user
- Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- mysql ERROR 1045 (28000): Access denied for user
- Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- mysql ERROR 1045 (28000): Access denied for user解决方法
- MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'
- Mysql ERROR 1045 (28000): Access denied for user '
- 【windows】 mysql ERROR 1045 (28000): Access denied for user解决方法
- mysql ERROR 1045 (28000): Access denied for user解决方法
- mysql ERROR 1045 (28000): Access denied for user解决方法
- shell编程检测监控mysql的CPU占用率
- 《一个操作系统的实现》(一):不到20行的操作系统代码的解释
- (转载)总结SWT的几点不足
- Water(过半元素)
- fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Win下Mysql根治ERROR 1045 (28000): Access denied for user的方法(绝对有效)
- EHCache配置参数说明
- 实战Nginx_取代Apache的高性能Web服务器
- 适配器模式(Adapter Pattern)(二):HeadFirst中的火鸡冒充鸭子
- ubuntu更改系统主机名
- HDU 1788 中国剩余定理
- android 如何设置背景的透明度
- 初探Tomcat源码 (3) —— SimpleHttpServer
- WebSphere Process Server V7 集群 - 经典拓扑模型