mysql 更改密码

由于两台设备的mysql数据库的密码不一样,开发时每次连接数据库都需要更改配置文件,所以想修改一下mysql数据库的密码。
mysql 修改密码千万不要直接修改,直接修改的话会出现两种情况:
1,修改成功,无法登录。
2,修改不成功。
应该首先把密码置为空,然后再修改,

update user set authentication_string='' where user='root';

MySQL版本mysql8.0.30.
最开始用的update语句修改的user密码:

update user set authentication_string='*******' where user='root';

修改完之后无法登录。
显示错误:
ERROR 1130 (HY000): Host ‘localhost’ is not allowed to connect to this MySQL server
从此之后无法登录了!我去!研究了一天了!

尝试修改my.ini配置文件跳过密码验证,但是mysql8之后不支持修改文件了。
执行如下命令:

net stop mysql;
mysqld --console --skip-grant-tables --shared-memory;

结果是一直运行的界面。
如果不是说明跳过密码验证失败,如果显示的是如下图提示:
在这里插入图片描述

就在mysql的安装包data下面修改这个两个文件的权限,重新运行

mysqld --console --skip-grant-tables --shared-memory;

运行成功之后,此窗口千万不要关闭,重新打开新的cmd 窗口,
mysql -u root 登录成功。

网上有很多说用grant 修改用户的权限的方法,我尝试了都不成功。

最后用alert 重新修改密码:(如果提示修改密码失败,就先把密码置为空然后刷新再修改

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '******';
flush privileges;

修改密码就一直报ERROR 1396 (HY000)。

最终发现应该先置空,刷新之后,在更改密码。

use mysql;

update user set authentication_string=‘’ where user=‘root’;

flush privileges;

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值