关于使用MySQL修改用户名密码报错的解决方案
先声明:使用的 MySQL 版本是 8.32
一、关于报错
Operation ALTER USER failed for ‘用户名’@‘localhost’
是执行了语句:
alter user '用户名'@'localhost' identified with mysql_native_password by '你的密码';//或者ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'
原因:之前执行修改用户名语句时,把用户名修改错了
可以使用在 mysql> 中使用 sql 语句:
select user,host from user;
可以看到 user 和 host , 我这里才发现之前修改用户名已经修改错了,修改成其他的用户名了,重新执行一次:
update user set user="用户名" where user="yang";//刷新一下flush privileges;
最后执行原来修改密码的语句就修改成功了
二、关于报错
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘password(‘密码’)’
是在 mysql 里面执行了:
set password for 用户名@localhost = password('密码');//或者update user set password=password('密码') where user='用户名' and host='localhost';
正确的写法:
UPDATE mysql.user SET authentication_string = PASSWORD('密码') WHERE user='用户名' AND host='localhost'//刷新一下flush privileges;
出现该错误是因为在SQL语句中使用了一个不正确的语法,可能是因为使用了无效的字符或缺少了必要的语句元素。
在mysql 8.0以后,authentication_string字段替代了之前的password字段(估计报错就是版本的问题了)
以上就是遇到关于 mysql 报错的一部分解决方法
来源地址:https://blog.csdn.net/weixin_47002682/article/details/129726395
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341