问题如下:

wangju@wangju-HP-348-G4:~$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

 解决办法: 分2步

  • 配置mysql不用密码也能登录
  • 重新配置mysql用户名密码

首先:配置mysql不用密码也能登录

step1:

使用find全局搜索mysql配置文件

root@wangju-HP-348-G4:/home/wangju# find / -name mysqld.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf

step2:

在mysql的配置文件[mysqld]中加入下面这句话:

skip-grant-tables    <-- add here

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

step3:

保存修改,重新启动mysql

service mysql restart

step4:

在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可进入mysql

然后:重新配置mysql用户名密码
step1:
进入mysql后分别执行下面三句话配置root用户密码
use mysql;   然后敲回车

update user set authentication_string=password("你的密码") where user="root";  然后敲回车

flush privileges;  然后敲回车

结果如下:

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> update user set authentication_string=password("admin123456") where user="root";
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 2 Changed: 1 Warnings: 1 mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

然后输入quit,退出mysql。

step2:

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

再返回终端输入mysql -u root -p,报错:

root@wangju-HP-348-G4:/home/wangju# mysql -u root -p
Enter password:
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded

再把刚才注释掉的skip-external-locking取消注释,然后重启mysql

执行下面的命令:

use mysql;
#切换数据库 select user,plugin from user;
#查询user表 user列,plugin列的值
#从查询结果可以看出plugin root的字段是auth_socket,把它改为mysql_native_password update user set authentication_string=password("admin123456"),plugin='mysql_native_password' where user='root';
#更新user表plugin root

执行结果:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
| root | mysql_native_password |
| tester | mysql_native_password |
+------------------+-----------------------+
6 rows in set (0.00 sec) mysql> update user set authentication_string=password("admin123456"),plugin='mysql_native_password' where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 1 Warnings: 1

再输入select user,plugin from user;回车,我们能看到root用户的字段改成功了。

mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | mysql_native_password |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
| root | mysql_native_password |
| tester | mysql_native_password |
+------------------+-----------------------+
6 rows in set (0.00 sec)

step3:

quit退出,再执行step3,重启mysql

结果:

再用mysql -u root -p,回车,输入密码之后,就可以登录成功了

参考文档:

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

 

[mysql]root用户登录mysql,输入密码后报错:Access denied for user 'root'@'localhost'的更多相关文章

  1. linux下mysql登录报错“Access denied for user 'root'@'localhost' (using password: YES”)的处理方法

    最近登录某台服务器的mysql时候总报错: Access[root@log01 ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Acc ...

  2. 网站报错Access denied for user 'root'@'localhost' -问题排查续

    网站报错Access denied for user 'root'@'localhost' (using password: YES) 每次的挽救办法就是: /etc/init.d/mysqld st ...

  3. 运行JavaWeb项目报错Access denied for user 'root'@'localhost' (using password: YES)

    问题重现:(以下讨论范围仅限Windows环境): C:\AppServ\MySQL> mysql -u root -p Enter password: ERROR 1045 (28000):  ...

  4. 008-MySQL报错-Access denied for user 'root'@'localhost' (using password: NO)

    1.新安装的mysql报错 MySQL报错-Access denied for user 'root'@'localhost' (using password: NO) 解决方案 1.先停掉原来的服务 ...

  5. mysql登录报错“Access denied for user 'root'@'localhost' (using password: YES”)的处理方法

    环境 CentosOS 6.5 ,已安装mysql 情景 root密码忘记,使用普通用户无法登录 解决 问题一 无法使用mysql命令 参考文章:https://www.cnblogs.com/com ...

  6. MySQL登录报错"Access denied for user 'root'@'localhost' (using password: YES)"

    最近登录MySQL时候总报错: # mysql -uroot -p Enter password: ERROR (): Access denied for user 'root'@'localhost ...

  7. root用户登录mysql后新建用户提示1045错误

    执行以下命令查看root权限 show grants for 'root'@'localhost'; 如果没有显示with grant option,说明是root没有拥有新建授权用户的权限(为什么会 ...

  8. MySQL密码正确却无法本地登录,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    MySQL密码正确却无法本地登录 报错如下: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password ...

  9. mysql登录遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    执行mysql  -uroot  -p,出现如下问题 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pass ...

随机推荐

  1. linux版宝塔安装Redis

    1安装服务 2配置设置 3安装PHP扩展 首先,我们来安装服务,进入管理面板--软件管理--运行环境--redis-点击安装,等待完成 完成之后开始第二步,配置设置.这一步根据自己需要进行配置.注意安 ...

  2. python+Appium自动化:logging配置代码分离

    配置文件信息log.conf: [loggers]keys=root,simpleExample [logger_root]level=DEBUGhandlers=consoleHandler,fil ...

  3. 清北学堂dp图论营游记day2

    上午讲数位dp和背包问题. 先讲背包: 完全背包:换了个顺序: 多重背包: 多重背包优化: 这样把每个物品分成这些组,那么把他们转变成不同的物品,就变成了01背包问题: 滑动窗口取最值问题.单调队列优 ...

  4. leetcode上题目的分类

    leetcode链表部分题目 https://zhuanlan.zhihu.com/p/29800285 <[Leetcode][链表]相关题目汇总/分析/总结> leetcode堆部分题 ...

  5. tcpdump 为何抓包 抓到本机IP 都是内网IP

    接收端 22:49:01.729351 IP 192.168.0.3.21918 > ***.**.**.**.44498 22:49:01.727980 IP ***.**.**.**.444 ...

  6. <<,>>(有符号位移)和>>>(无符号位移)的使用方法,及差别

    <<  ——  有符号左移 >>  ——  有符号右移 <<<  ——  无符号左移 >>>  ——  无符号右移 无符号移位(>&g ...

  7. python继承小demo

    # -*- coding: utf-8 -*- """ 继承的意义:实现代码重用,数据函数都可以重用 子类覆盖,子类与父类同名 选择性继承 super().__init_ ...

  8. TCP/IP网络编程系列之一(初级)

    概述 网络编程实际上就是编写程序使两台联网的计算机相互的交换数据.操作系统会提供名为“ 套接字 ”的部件.套接字是网络数据传输的软件设备,即使对网络数据传输原理不太熟悉也无关紧要.我们也能通过套接字完 ...

  9. C#定时任务之FluentScheduler

    一.业务需求 平台首页,有几个指标统计,产品不要求实时性,觉得一天更新一次可以接受. 最后决定用FluentScheduler定时执行统计,redis缓存结果. 每天晚上1点进行定时任务统计,将统计结 ...

  10. [Linux系统] (1)常用操作(CentOS 7.x)

    一.Linux系统配置 1.修改主机名 [/etc/hostname] vi /etc/hostname 在其中将旧名字修改为新主机名,保存,重启生效. 2.本地DNS映射 [/etc/hosts] ...