解决mysql登录错误:'Access denied for user 'root'@'localhost'

所属分类: 数据库 / Mysql 阅读数: 1619
收藏 0 赞 0 分享

首先是不知道怎么忽然mysql用命令行,workbench都登录不了,都提示'Access denied for user 'root'@'localhost'
数据库卸载重装了几次都不行。好像感觉数据清理不干净。解决的过程遇到的坑,这里记录分享下。

有效的操作记录下:

1、首先是跳过权限登录mysql,查看user表,

停止mysql服务~$ sudo service mysql stop

以安全模式启动MySQL~$ sudo mysqld_safe --skip-grant-tables &

注意:

可能提示mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exist

解决方法:(笔者尝试发现必须加sudo)

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

再次执行上面安全模式启动mysql ~$ sudo mysqld_safe --skip-grant-tables &

这次提示语句显示了,mysqld_safe Staring mysqld deamon with database from /var/lib/mysql

这次登录可以不用密码:mysql -u root 回车就登录了

sql语句查询mysql.user表的情况,如下:

加图片(以后补)

还有人提议如下这么做,没尝试

Open & Edit /etc/my.cnf or /etc/mysql/my.cnf, depending on your distro.
Add skip-grant-tables under [mysqld]

2、发现user的plugin为socket_plugin,改为mysql_native_password

修改root的plugin权限:

update mysql.user set authentication_string=PASSWORD('newPwd'), plugin='mysql_native_password' where user='root';
flush privileges;
quit;

(注意这里修改一定要正确,免得跟笔者一样,粗心的把plugin修改的内容少些了一个字母,又有下面的折腾)

3、user表还有其他用户,root不能登录,用其他的用户登录也行啊。查询了发现一下有效操作:

在mysql的安装目录,一般在 /etc/mysql里面有个debain.cnf文件,里面有user,password,用这个用了登录,密码最后复制,然后就又可以修改user表root的plugin,操作同上。

重启mysql服务, sudo service mysql restart;

用root用户就可以登录。

参考博客:

MySQL ERROR 1698 (28000) 错误 https://www.jb51.net/article/117566.htm

mysql 查看当前使用的配置文件my.cnf的方法 https://www.jb51.net/article/110395.htm

linux -- Ubuntu查看修改mysql的登录名和密码、安装phpmyadmin https://www.jb51.net/article/174925.htm

以上所述是小编给大家介绍的解决mysql登录错误:''Access denied for user ''root''@''localhost'',希望对大家有所帮助!

更多精彩内容其他人还在看

Mac 将mysql路径加入环境变量的方法

这篇文章主要介绍了Mac如何将mysql路径加入环境变量,有需要的朋友好按照下面的步骤操作即可
收藏 0 赞 0 分享

mysql 增加修改字段类型及删除字段类型

本节主要介绍了mysql如何增加修改字段类型及删除字段类型,需要的朋友可以参考下
收藏 0 赞 0 分享

Mysql主从复制(master-slave)实际操作案例

这篇文章主要介绍了Mysql主从复制(master-slave)实际操作案例,同时介绍了Mysql grant 用户授权的相关内容,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL异常处理浅析

这篇文章主要介绍了MySQL的异常处理,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL存储毫秒数据的方法

MySQL中没有可以直接存储毫秒数据的数据类型,但是不过MySQL却能识别时间中的毫秒部分。这篇文章主要介绍了MySQL存储毫秒数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySql中使用INSERT INTO语句更新多条数据的例子

这篇文章主要介绍了MySql中使用INSERT INTO语句更新多条数据的例子,MySQL的特有语法,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下MySql错误代码1045的解决方法

这篇文章主要介绍了Windows下MySql错误代码1045的解决方法,文中还包含了2个Linux下的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句

这篇文章主要介绍了mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句,一般在一些统计报表中比较常用这个时间段,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql的中文数据按拼音排序的2个方法

这篇文章主要介绍了mysql的中文数据按拼音排序的2个方法,用于一些特殊环境,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL定期分析检查与优化表的方法小结

听DBA的人说,相比oracle,MySQL就是一个玩具级别的数据库,在网易门户中,DBA基本很少去管理到MySQL的东西,所以我们产品使用到的MySQL的一些配置和优化还是需要我们开发人员自己动手,下面就简单介绍一下实用的定期优化方法
收藏 0 赞 0 分享
查看更多