centos 服务器 mysql 数据库输入正确密码却无法登录 |
您所在的位置:网站首页 › appleid重设密码成功但仍然显示密码错误 › centos 服务器 mysql 数据库输入正确密码却无法登录 |
记录一次在 centos 服务器上访问 mysql 输入正确密码却无法登录的情况 情况说明:使用命令 mysql -u root -p会提示输入密码 输入正确密码后回车,发现无法登录,如下所示 [root@master ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)在网上查找资料,发现无法解决,后来意识到自己在之前为了实现远程访问数据库,在user表里面添加了一个host,即‘%’,但当时添加的时候用的不是插入而是 update,导致 localhost 被修改成了 %,故可以实现远程访问却无法直接在centos上登录。 解决方法如下:1、停止MySQL服务 service mysqld stop2、输入两个命令: /usr/bin/mysqld_safe --skip-grant-tables & mysql第一个命令用于跳过授权表,可以不用输入密码直接登录 然后再输入 mysql 即可实现登录,具体情况如下: [root@master ~]# service mysqld stop Redirecting to /bin/systemctl stop mysqld.service [root@master ~]# /usr/bin/mysqld_safe --skip-grant-tables & [1] 1844 [root@master ~]# 211201 07:02:14 mysqld_safe Logging to '/var/log/mysqld.log'. 211201 07:02:15 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.51 MySQL Community Server (GPL) Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.3、然后输入命令,切换到 mysql 数据库: mysql> use mysql;4、查看user表 mysql> select user,host from user; +------+-----------+ | user | host | +------+-----------+ | root | % | | root | 127.0.0.1 | | root | ::1 | | root | master | +------+-----------+ 4 rows in set (0.00 sec)发现 host 中没有 localhost,这样是无法实现登录本地登录的,必须给他加上 我是使用 navicat for mysql 软件连接到远程数据库,在 user 表中加入 locahost, 如果没有配置远程访问,可以使用命令进行操作,具体命令请自行查阅,这里不再赘述。 5、最后刷新权限表 mysql> flush privileges;6、重启数据库 service mysqld restart 问题总结:出现无法登录的原因:user表中没有 localhost 主机 解决方法:在user表中加入 lacalhost 主机 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |