当前位置:首页 > mysql > 正文内容

mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法

关中浪子3年前 (2022-02-09)mysql1216
买泛域名SSL证书 送5斤装现摘猕猴桃一箱、同时提供技开源商城搭建免费技术支持。
泛域名ssl证书 239元1年送1个月、单域名39元1年,Sectigo(原Comodo证书)全球可信证书,强大的兼容性,高度安全性,如有问题7天内可退、可开发票
加微信VX 18718058521 备注SSL证书
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价

出现如下错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'


解决方法:


第1步:

在Ubuntu终端输入如下命令


sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf


进入到mysqld.cnf配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。


[mysqld]

#

# * Basic Settings

#

user            = mysql

pid-file        = /var/run/mysqld/mysqld.pid

socket          = /var/run/mysqld/mysqld.sock

port            = 3306

basedir        = /usr

datadir        = /var/lib/mysql

tmpdir          = /tmp

lc-messages-dir = /usr/share/mysql

skip-external-locking

skip-grant-tables




作用:就是让你可以不用密码登录进去MySQL。


保存:wq,退出。



输入如下命令:


service mysql restart


重新启动MySQL。如下图:




第2步:

在Ubuntu终端上输入


mysql -u root -p


遇见输入密码的提示直接回车即可,进入MySQL后,分别执行下面三句话:


 use mysql;  #然后回车


mysql> select user, plugin from mysql.user;
+-----------+-----------------------+
| user      | plugin                |
+-----------+-----------------------+
| root      | auth_socket           |
| mysql.sys | mysql_native_password |
| dev       | mysql_native_password |
+-----------+-----------------------+
3 rows in set (0.01 sec)


mysql> update mysql.user set authentication_string='123456', plugin='mysql_native_password' where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


 flush privileges;  #然后回车




然后输入quit,退出MySQL


第3步:

重新进入到mysqld.cnf文件中去把刚开始加的skip-grant-tables这条语句给注释掉。如下图:

MySQL提示ERROR 1698 (28000): Access denied for user



再返回终端输入mysql -u root -p,应该就可以进入数据库了。


第4步:

如果此时还是报出错误如下


mysql -u root -p

Enter password: 

ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded



MySQL提示ERROR 1698 (28000): Access denied for user

那么就需要返回第3步中,把注释掉的那条语句重新生效(就是删除#符号),重新进入mysql中,先选择一个数据库(use mysql;),然后输入select user,plugin from user;,看下图:


MySQL提示ERROR 1698 (28000): Access denied for user


从图中可以看到在执行了select user,plugin from user;后,错误原因是因为plugin root的字段是auth_socket,那我们改掉它为下面的mysql_native_password就行了。输入:


update user set authentication_string=password("linuxidc"),plugin='mysql_native_password' where user='root';


然后回车执行以下,再输入select user,plugin from user;回车,我们能看到root用户的字段改成功了。如下图:


MySQL提示ERROR 1698 (28000): Access denied for user


最后quit退出。返回执行第3步。


那么这个问题就完全解决了。


找梯子最重要的就是稳定,这个已经上线三年了,一直稳定没有被封过,赶紧下载备用吧!

扫描二维码推送至手机访问。

版权声明:本文由码农翻生发布,如需转载请注明出处。

本文链接:https://lubojian.cn/post/101.html

分享给朋友:

相关文章

Mysql8.0.17 登录报1045(28000)错误(困扰好几个小时!!!!各种试,原来是mysql8.0的区别!)

以下修改登录报错:mysql-8.0.13 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES...

MySQL Index的使用

一、什么是索引?  索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越...

mysql community  (社区版)  图文安装教程 + mysql 密码修改

mysql community (社区版) 图文安装教程 + mysql 密码修改

1、下载此教程演示为MySQL8社区版压缩包版本的,点击以下链接进入下载页面(需要Oracle账号,没有的可先进行注册)MySQL下载链接完成后,我们就得到一个压缩包,把这个压缩包进行解压(这里我演示是并不是最新版)2、配置环境变量// 变...

windows mysql-installer-community-8.0.19.0.msi  社区版 windows service安装教程

windows mysql-installer-community-8.0.19.0.msi 社区版 windows service安装教程

一、下载MySQL登录MySQL官网下载MSI Installer:点击“Dnownload”点击“No thanks, just start my download.”二、安装MySQLStep1:选择安装类型根据个人需求,选择其中一个安...

创建mysql 数据库命令 指定编码

GBK:create database   test  DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;UTF8:CREATE DATABASE test&nb...

You must configure either the server or JDBC driver (via the serverTimezone configuration property)

错误提示:Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception i...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。