mysql+yes/no_解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: ...

1 现象

mysql -u root -p

错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO/YES)

2 linux系统:

在配置文件my-default.cnf或my.cnf下

[mysqld]下添加skip-grant-tables;因为此方法无效,所以找到了以下方法

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。

所以在/var/log/找到文件mysqld.log

用命令:vi 打开

进入命令模式

查找生成的随机密码

输入:/temporary password

可以看到:

A temporary password is generated for root@localhost:

所以就可以以此密码登陆‘root’用户了

mysql -u root -p 回车

要输入密码:

输入:use mysql;

进入mysql后就是修改密码了

如果直接输入:update user set authentication_string=password(‘新密码,例如:123456‘) where user=‘root‘;

则:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个意思是说你设置的密码‘123456’不符合安全规则(1.必须含有数字,小写或大写字母,特殊字符;

2.最小长度为8)

必须修改两个全局参数

首先,修改validate_password_policy参数的值

set global validate_password_policy=0;

这样就去除了规则 1,只有长度限制了

接下来修改参数 validate_password_length

mysql> select @@validate_password_length;#查看参数值

+----------------------------+

| @@validate_password_length |

+----------------------------+

| 8 |

+----------------------------+

set global validate_password_length=1;

mysql> select @@validate_password_length;#查看参数值

+----------------------------+

| @@validate_password_length |

+----------------------------+

| 4 |

+----------------------------+

只要设置的值小于4都为4。

这样就可以修改简单的密码了

update user set authentication_string=password(‘密码:root‘) where user=‘root‘;

flush privileges;

退出:quit

重启服务:service mysqld restart

进入mysql

mysql -u root -proot

成功!

3 windows:

进入mysql安装目录,复制my-default.ini,命名为my.ini

编辑my.ini

在[mysqld]下添加skip-grant-tables

保存。

重启mysql:1、net stop mysql 2、net start mysql

进入mysql

mysql -u root -p

不用输入密码,直接回车

输入use mysql

修改root的密码

update user set authentication_string=password(‘新密码‘) where user=‘root‘;

flush privileges;

退出:quit

再次重启mysql:1、net stop mysql 2、net start mysql

测试是否成功就是是否登陆成功咯。

mysql -u root -p

完成!

解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)

标签:res   重启   linux系统   art   临时   star   意思   default   模式

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/forforever/p/12650282.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值