windows 环境 mysql -u root -p ERROR 1045 (28000): Unknown error 1045

参考资料:https://blog.csdn.net/jlongsl/article/details/54585809

今天在windows下配置了Mysql5.7.17,在修改密码的过程中遇到了错误提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,查找了很多解决方案,下面的方法完美的解决了我的问题: 
1. 配置环境变量Path:将mysql的bin所在路径添加到Path中 
2. 把安装目录的my-default.ini文件删掉,新建一个my.ini,添加下面的代码到my.ini文件中

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-grant-tables
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\MySql\mysql-5.7.17-winx64\mysql-5.7.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\MySql\mysql-5.7.17-winx64\mysql-5.7.17-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

上面的目录请参考自己的文件路径。 
3. my.ini文件中的skip-grant-tables使登录直接跨过了安全检查。接着在cmd下输入 
mysql进入mysql>,在mysql>下输入UPDATE mysql.user set password=PASSWORD('newpassword') WHERE User='root'; 进行密码更改。但在此版本的mysql中,会报错,错误如下ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’;这是因为原本的password字段替换成了authentication_string,如果出现这个错误提示,就需要使用下列方式:update mysql.user set authentication_string=password('newpassword') where user='root'; 
4. 此时已经可以用新密码登录了,然后将my.ini文件中的skip-grant-tables注释掉,在cmd下重启mysql服务,可以用net stop mysql先停止服务,再net start mysql启动服务来重启,重启完成,输入mysql -u root -p来进行登录,over。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值