[phpMyAdmin]ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘解决

这篇具有很好参考价值的文章主要介绍了[phpMyAdmin]ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘
1.查看mysql 数据库中user表 用户 root 的 plugin字段 是否为 mysql_native_password
2.如不存在 root 用户则新增

进入mysql 数据库,修改密码的时候

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxx';

报出如下错误

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

我们可可以查看mysql 数据库中user表的 plugin字段;

select host,user,plugin from user;

发现都是caching_sha2_password的插件,而不是mysql_native_password插件
[phpMyAdmin]ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘解决,java,数据库,mysql

如查不到 root 用户需要添加用户

没有用户创建用户 可能需要刷新
CREATE USER ‘root’@‘localhost’ IDENTIFIED BY’wshuai’;
查看是不是存在这个用户
select host,user,plugin from user;
创建失败可能是之前删除后 刷新后再删一次
drop user ‘root’@‘localhost’;
刷新
flush privileges;

发现都是caching_sha2_password的插件,而不是mysql_native_password插件,所以我们把他改回去

update user set plugin='mysql_native_password' where user='root';

[phpMyAdmin]ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘解决,java,数据库,mysql

这样我们本地就可以通过root用户和密码来登录,如果想要其他ip也能连接的话,我们再改动host

update mysql.user set host='%' where user='root';

[phpMyAdmin]ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘解决,java,数据库,mysql

刷新生效

flush privileges;

注释:

为什么还要使用mysql_native_password?

虽然最新版MySql换了新的身份验证插件(caching_sha2_password),
原来的身份验证插件为(mysql_native_password)。但是一些客户端工具比如Navicat
中还找不到新的身份验证插件(caching_sha2_password),因此,我们需要将mysql用户使用的 登录密码加密规则 还原成
mysql_native_password,方便客户端工具连接使用。文章来源地址https://www.toymoban.com/news/detail-585773.html

到了这里,关于[phpMyAdmin]ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql【ERROR 2003 (HY000)】错误解决方法与思路

    一、背景与故障描述: 一次部署一个新项目的时候,根据项目文档要求,对C:ProgramDataMySQLMySQL Server 5.7 下的my.ini文件中的max_allowed_packet=4M项进行了修改,将原来的4M改为16M后,连接数据库时显示如下故障:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061) 二、解决

    2024年02月03日
    浏览(40)
  • 【Ubuntu学习MySQL——报错 ERROR 2002 (HY000)】

    问题: 报错含义: 根据上面的报错,意思是说mysql想使用/var/run/mysqld/mysqld.scok文件,但是无法连接,接下来我们来看看这个文件是否存在 1.查看所有的sock文件 根据上述命令所得出的结果可以知道,其中并没有 /var/run/mysqld/mysqld.sock,或者可以切换至该目录来验证socket文件所

    2024年02月12日
    浏览(45)
  • mysql-数据迁移 及报错解决(ERROR 1290 (HY000)

    1. 物理迁移 1. 迁移前,配置 mysql 的输出目录 1. 查看mysql的输出目录 在安装MySQL的会限制了导入与导出的目录权限。只允许在规定的目录下才能导入。 可以通过以下命令查看secure-file-priv当前的值是什么,然后再进行修改。 可以看到,本地 value 的值为 /var/lib/mysql-files 。 (可能

    2024年02月12日
    浏览(57)
  • mysqli_real_connect(): (HY000/1045): Access denied for user ‘root‘@‘localhost‘ (using password: YES

    如题,phpmyadmin登录报错,网上看到一个解决方法:(232条消息) mysqli_real_connect(): (HY000/1045): Access denied for user ‘root‘@‘localhost‘ (using password: YES_学霸的男人的博客-CSDN博客 我使用的Appserv安装的mysql,对应的文件是config.sample.inc.php ,将注释掉的 打开,改为: 注意 $cfg[\\\'Servers

    2024年02月15日
    浏览(47)
  • phpstudy配置本地网站出现MYSQL 报错:SQLSTATE [HY000] [1045] Access denied for user ‘root‘@‘localhost‘ (using pa

            今天配置一个本地网站,用于测试,用的phpstudy,数据库密码等都配置好了,但是出现 MYSQL 报错:SQLSTATE [HY000] [1045] Access denied for user \\\'root\\\'@\\\'localhost\\\' (using password:yes) 其实这种错误只要打开马蹄,进入命令行界面,输入三行代码即可  进入 MYSQL,按照以下三步依次执行

    2024年02月09日
    浏览(50)
  • MySQL数据库连接失败,报错:ERROR 1040 (HY000): Too many connections

    MySQL数据库连接失败,报错:ERROR 1040 (HY000): Too many connections 连接MySQL突然出现“ERROR 1040 (HY000): Too many connections”。根据字面意思,应该是数据库的终端太多,下面修改mysql的配置文件解决。 MySQL默认连接数是151 临时配置 如果在生产环境数据库出现了最大连接数建议使用临时

    2024年02月12日
    浏览(46)
  • 解决ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

    如何解决ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)** 1、登录到安装Mysql的主机,打开cmd命令行工具,执行命令mysql -uroot -p,报出下面所描述的错误; ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061) 解决方案如下: 1、首先以管理员身份启动cmd,要

    2024年02月05日
    浏览(54)
  • ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

    windows安装的MySQL(mysql-8.0.29-winx64)数据库长时间没有使用,今天用 Navicat 连接时,突然就连不上了 ,报错 ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost:3306’ (10061) , 这里记录一下解决过程。 1、首先排查MYSQL 服务是否开启, Ctrl + Alt + Delete 打开任务管理器, 搜索 M

    2024年02月19日
    浏览(60)
  • 解决ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

    ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost:3306’ (10061) 1.安装成功之后输入MYSQL报出ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost:3306’ (10061)或者输入net start mysql时无法启动服务 2.首先检查自己是否以管理员身份运行命令提示符窗口 !!!这块一定要管理员身份运行

    2024年02月13日
    浏览(61)
  • MySQL:ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy‘的解决方法

    当我们设置数据库密码级别的时候 mysql set global validate_password_policy=0; mysql set global validate_password_length=4; 出现这样的报错: mysql set global validate_password_policy=0; ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy’ 解决方案是: 打开/etc/my.cnf,然后在[mysqld]的下方加入如下代码

    2024年02月16日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包