MySQL密码正确却无法本地登录-1045

MySQL密码正确却无法本地登录-1045 Access denied for user 'root'@'localhost' (using password:YES

MySQL密码正确却无法本地登录

报错如下:

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

解决方法:

1、在启动mysql的参数中加入跳过密码问题方式,如下:

vim /etc/my.cnf

并在[mysql]下面加上skip-grant-tables,

这个用于跳过密码问题,但是这并不能彻底解决。

2、重启mysql服务

本人用的是Linux系统的Mysql,语句如下:

查看端口号:

ps aux|grep mysqld

查看状态:

systemctl status mysqld

重启mysql服务

systemctl restart mysqld

尝试连接:

mysql -uroot -p123456

输入密码,刚才已经设置跳过密码了可忽略

操作步骤如下:

[root@localhost ~]# mysql -uroot -p123456
mysql> use mysql
Database changed
mysql> select user,host,password from user where user='root';
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | % | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
| root | localhost.localdomain | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
| root | 127.0.0.1 | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
| root | ::1 | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
+------+-----------------------+-------------------------------------------+
4 rows in set (0.02 sec)

mysql> update user set host='localhost' where user='root' and host='%';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

mysql> quit
Bye

OK,退出mysql,重启mysql就解决问题了

前后对比一下:

[root@localhost ~]# mysql -uroot -p
mysql> use mysql;
Database changed
mysql> select user,host,password from user where user='root';
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
| root | localhost.localdomain | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
| root | 127.0.0.1 | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
| root | ::1 | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
+------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)

mysql>
OK!

总结

以上所述是小编给大家介绍的MySQL密码正确却无法本地登录-1045 Access denied for user ''root''@''localhost'' (using password:YES,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • php+MySQL实现登录时验证登录名和密码是否正确

    直入主题,先看php校验登录名和密码是否正确的代码: <?php $servername = "服务器名"; $username = "账户名"; $password = "密码"; $dbname = "数据库名"; ?> <?php // Session需要先启动. session_start(); //判断uname和pwd是否赋值 if(isset($_POST['uname']) &&

  • MySql8.0以上版本正确修改ROOT密码的方法

    部署环境: 安装版本red hat Cent 7.0 MYSQL 版本 8.0.2.0 成功部署完毕后出现故障情况: 1.      正常启动MYSQL服务后,敲Linux中root账户和密码进入不去. 2.      从/etc/my.cnf 配置文件中加入skip-grant-table后正常登陆,但是不能创建用户等多操作 总结来说: 想进去mysql后不能操作多指令,操作多指令又不能进去mysql,死循环 挖坑环节: 网上找了很多办法,首先加入skip-grant-table.后进去刷新权

  • MySQL密码正确却无法本地登录的解决方法

    MySQL root密码正确,却怎么也无法从本地登录MySQL,提示 复制代码 代码如下: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 这里后来经高人指点才发现mysql库中的user表缺少一个root指向host:localhost的数据项,只有一个root指向host:主机名的数据项,故怎么也无法利用root账户登录MySQL. 总结一点就是root账户缺失了访问loc

  • MySQL密码正确却无法本地登录-1045

    MySQL密码正确却无法本地登录-1045 Access denied for user 'root'@'localhost' (using password:YES MySQL密码正确却无法本地登录 报错如下: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方法: 1.在启动mysql的参数中加入跳过密码问题方式,如下: vim /etc/my.cnf 并在[mysql

  • 解决centos下MySQL登录1045问题

    由于需要在centos下部署整个应用,自然少不了对数据库的操作.但很多人可能会遇到一些问题,比如创建用户成功,但是却无法登录. 无法登陆一般就两个原因.第一,远程访问端口没开,第二个原因就是密码错误了(很奇怪,我们登录时的密码明明是正确的,但还是会提示密码错误,我也不知道这是什么原因,有可能是编码之类的吧) 远程访问端口没开这种情况比较好解决,如果用的云服务器,在控制台去配置安全组,打开相应端口就可以了. 这里说一下第二种错误,这个比较坑. 第二种情况往往会报错显示:1045 Access de

  • mysql本地登录无法使用端口号登录的解决方法

    最近在使用linux上进行本地登录时,发现既然无法正常登录 , 报如下错误信息: [root@xxxx ~]# mysql -h localhost -u root -p -P 3306 Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 分析:使用mysql --verbose --help进行分析,才发现原来port和socke

  • mysql密码中有特殊字符&在命令行下登录的操作

    在服务器上,通常为了快速登录数据库,我们会使用mysql -hhost -uusername -ppassword db的方式登录数据库,如果密码中没有特殊字符&,会直接进入数据库sql命令行下,如果有特殊字符&,那么就会出现如下提示: -bash: syntax error near unexpected token `&' 一般情况,我们可以通过命令mysql -hhost -uusername -p db然后根据提示手动输入密码. 另外,这里可以对特殊字符的密码做处理. 1.

  • 浅谈mysql密码遗忘和登陆报错的问题

    mysql登录密码忘记,其实解决办法很简单,只需要在mysql的主配置文件my.cnf里添加一行"跳过授权表"的参数选择即可! 在my.cnf中添加下面一行: [root@test-huanqiu ~]# vim /etc/my.cnf              //在[mysqld]区域里添加 ........ skip-grant-tables                       //跳过授权表 然后重启mysql服务,即可无密码登录 [root@test-huanqiu

  • 一步步教你MySQL密码忘记了该如何操作

    目录 1.关闭mysql服务 2.跳过权限验证 3.以管理员打开另一个cmd窗口,直接输入mysql(刚才的不要关闭) 4.修改密码 5.刷新mysql权限,再次执行命令 6.关闭第一次打开的窗口,然后输入quit 7.重新启动mysql,并登录测试 总结 连接MySQL时出现:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)时,如下操作: 1.关闭mysql服务 以管理员方式打

  • Mac操作系统下MySQL密码忘记后重置密码的方法

    安装好MySQL以后,系统给了个默认的的密码,然后说如果忘记了默认的密码......我复制了默认密码就走过了只一步,这一步就是我漫长旅程的开始.他给的密码太复杂了,当然我得换一个,而且我还要假装我不记得密码了,就这样我走上了不归路...... 这个过程是心酸的,网上的资料多如狗,关键是各有各的错法,尝试了半天没一个对的,在即将打破心理防线,要去翻MySQL文档的时候,我改成功了.没有一个文章告诉我完整的答案,我是参考了好几个攻略,闭门造出来的车.给自己点赞.废话不多说,一步一步跟我走. 关闭my

  • windows下忘记MySQL密码的修改方法

    一.windows下修改MySQL密码的方法如果在Windows下忘记了MySQL的密码,可以这样做:1.关闭正在运行的MySQL服务:net stop mysql或 在windows 任务管理器中结束 mysqld.exe 进程或在 管理工具里面的服务找到 mysql服务 ,将其停止: 复制代码 代码如下: C:\Users\Administrator>net stop mysqlMySQL 服务正在停止.MySQL 服务已成功停止. 2.打开命令行,转到mysql的bin目录下: 复制代码

  • Centos下 修改mysql密码的方法

    1.修改MySQL的登录设置: # vim /etc/my.cnf 加上一句:skip-grant-tables 如: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock 2.重启mysql # service mysqld restart Stopping MySQL: [ OK ] Starting MySQL: [ OK ] 3.修改密码 mysql> USE mysql ; Database changed m

随机推荐