服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - 解决mysql登录错误:'Access denied for user 'root'@'localhost'

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

2020-12-17 16:56狼性 Mysql

这篇文章主要介绍了mysql登录错误:'Access denied for user 'root'@'localhost',本文给出了操作过程及注意事项,需要的朋友可以参考下

首先是不知道怎么忽然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)

?
1
2
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权限:

?
1
2
3
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) 错误 http://www.zzvips.com/article/90958.html

mysql 查看当前使用的配置文件my.cnf的方法 http://www.zzvips.com/article/88143.html

linux -- Ubuntu查看修改mysql的登录名和密码、安装phpmyadmin http://www.zzvips.com/article/124090.html

总结

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

原文链接:https://www.cnblogs.com/langxing/archive/2019/11/23/11904737.html

延伸 · 阅读

精彩推荐
  • MysqlLinux下mysql的root密码修改方法

    Linux下mysql的root密码修改方法

    mysql是我们经常在linux或者windows需要用的一种数据库,相信每位程序员们对mysql应该都再熟悉不过了,但是有时大脑短路,突然忘记mysql的超级用户root的密码...

    daisy1662020-07-20
  • Mysql解决MySQL客户端输出窗口显示中文乱码问题的办法

    解决MySQL客户端输出窗口显示中文乱码问题的办法

    这篇文章主要介绍了解决MySQL客户端输出窗口显示中文乱码问题的办法,需要的朋友可以参考下 ...

    孤傲苍狼3252020-05-25
  • Mysqlmysql下为数据库设置交叉权限的方法

    mysql下为数据库设置交叉权限的方法

    由于 SupeSite 需要调用 Discuz! 和 UCHome 的数据,所以如果它们不安装在同一个数据库,SupeSite 的数据库用户必须要对 Discuz! 和 UCHome 的数据库有读取、修改、...

    MYSQL教程网3412019-11-20
  • MysqlMySQL创建全文索引分享

    MySQL创建全文索引分享

    使用索引是数据库性能优化的必备技能之一。在MySQL数据库中,有四种索引:聚集索引(主键索引)、普通索引、唯一索引以及我们这里将要介绍的全文索引...

    服务器之家2292020-07-09
  • MysqlSUSE Linux下通过RPM方式卸载MySQL 5过程笔记

    SUSE Linux下通过RPM方式卸载MySQL 5过程笔记

    这篇文章主要介绍了SUSE Linux下通过RPM方式卸载MySQL 5过程笔记,本文针对使用rpm方式安装的mysql,需要的朋友可以参考下 ...

    MYSQL教程网4312020-04-20
  • Mysqlcentos7通过yum安装mysql的方法

    centos7通过yum安装mysql的方法

    这篇文章主要介绍了centos7通过yum安装mysql的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...

    千雨猫2192019-06-17
  • Mysql深入分析MySQL 的备份和恢复机制

    深入分析MySQL 的备份和恢复机制

    备份对于数据库来说是相当重要的工作。如果数据库在使用过程中出现了问题,比如系统崩溃、硬件故障或错误的删除了数据。这时,如果我们进行了数据...

    极客头条4362020-06-30
  • MysqlMySQL服务器默认安装之后调节性能的方法

    MySQL服务器默认安装之后调节性能的方法

    在面试MySQL DBA或者那些打算做MySQL性能优化的人时,我最喜欢问题是:MySQL服务器按照默认设置安装完之后,应该做哪些方面的调节呢? ...

    mysql教程网5232019-11-18