关于root(其他)用户拒绝登陆mysql的处理方法

1.1.   关于root(其他)用户拒绝登陆的处理方法

问题描述:

[[email protected] mysql-install]# mysql -uroot-p

Enter password:

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

1.1.1.      跳过权限表登陆

(1)重启数据库,跳过权限表方式登陆:

[[email protected] mysql-install]# /etc/init.d/mysqldstart --skip-grant-table

Starting MySQL.........                                    [  OK  ]

[[email protected] mysql-install]# mysql -uroot

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 1

Server version: 5.5.37-log Sourcedistribution

Copyright (c) 2000, 2014, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ toclear the current input statement.

mysql>

(2)更该root密码

mysql> update user set host=‘%‘ whereuser=‘root‘ and password =‘*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9‘;

Query OK, 0 rows affected (0.01 sec)

Rows matched: 1  Changed: 0 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

(3)重启数据库并重新登陆

[[email protected] mysql-install]#service mysqlrestart

如果问题还是不能解决,继续向下看。

1.1.2.      远程可以本地无法登陆

本地无法登陆,但是远程或者其他用户可以登陆,root无法登陆。

[[email protected] mysql-install]# mysql -urgf-p

Enter password:

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

(1)查看user表中分布用户

mysql> select user,host,password from user;

+------+------+----------------------------------------------------------------------------+

| user | host          | password                                                                       |

+------+------+----------------------------------------------------------------------------+

| root | %             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| root | gflinux3    |

| root | 127.0.0.1 |

| root | ::1           |

| rgf  | %              | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+------+------+---------------------------------------------------------------------------+

2 rows in set (0.00 sec)

(2)查看文件/etc/hosts

[[email protected] mysql-install]# vi/etc/hosts

# Do not remove the following line, orvarious programs

# that require network functionality willfail.

127.0.0.1      gflinux3 localhost.localdomain localhost

::1            localhost6.localdomain6 localhost6

192.168.6.103   gflinux3

(3)分析

mysql初始化时root用户根据hosts配置文件中的主机及主机名在user表中产生上述记录(127.0.0.1,gflinux3,localhost,::1,192.168.6.103),而安装完数据库,使用mysqladmin初始化密码时,是对user表中localhost,即上述表中第一条记录做的修改:

mysql> select user,host,password from user;

+------+------+----------------------------------------------------------------------------+

| user | host          | password                                                                       |

+------+------+----------------------------------------------------------------------------+

| root | localhost   | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+------+------+---------------------------------------------------------------------------+

而其他“主机”密码都为空,这时再以root及其密码登陆时当然无法登陆。

更值得提醒的时,这些“主机”的存在,在安全上及其危险。

(4)处理方法

首先,修改hosts文件为:

[[email protected] mysql-install]# vi/etc/hosts

# Do not remove the following line, orvarious programs

# that require network functionality willfail.

127.0.0.1      gflinux3 localhost.localdomain localhost

#::1           localhost6.localdomain6 localhost6

192.168.6.103   gflinux3

其次,删除user表中所有相关主机记录。

mysql>delete  from user where hostin(‘gflinux3‘,‘127.0.0.1‘,‘::1‘,‘localhost‘);

Query OK,5 rows affected (0.01 sec)

mysql>update privileges;

mysql>select user,host,password from user;

+------+------+-------------------------------------------+

| user |host | password                                  |

+------+------+-------------------------------------------+

| root |%    |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

|rgf  | %    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|

+------+------+-------------------------------------------+

2 rows inset (0.00 sec)

(3)登陆验证

[[email protected]]# mysql -uroot -p

Enterpassword:

Welcometo the MySQL monitor.  Commands end with; or g.

YourMySQL connection id is 22

Serverversion: 5.5.37-log Source distribution

Copyright(c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle isa 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.

mysql>

当然,不建议使root用户从远程连接,这样很危险,因此,作如下操作取消使用root远程连接:

mysql>update user set host=‘localhost‘ where user=‘root‘;

Query OK,1 row affected (0.00 sec)

Rowsmatched: 1  Changed: 1  Warnings: 0

mysql>flush privileges;

Query OK,0 rows affected (0.00 sec)

1.1.3.      关于登陆

(1)如果host字段更新为localhost:

如下方式可以登陆成功:

[[email protected]]# mysql -uroot -p

[[email protected]]# mysql -hlocalhost -uroot -p

但是如下方式无法登陆:

[[email protected]]# mysql -h127.0.0.1 -uroot -p

[[email protected]]# mysql -h gflinux3 -uroot -p

[[email protected]]# mysql -h192.168.6.103 -uroot -p

原因是user表中host字段值只有记录localhost。其他登陆方式无法在user表中得到认证。

(2)如果host字段更新为%

所有的方式都可以登陆:

[[email protected]]# mysql -uroot -p

[[email protected]]# mysql -hlocalhost -uroot -p

[[email protected]]# mysql -h127.0.0.1      -uroot -p

[[email protected]]# mysql -h gflinux3 -uroot -p

[[email protected]]# mysql -h192.168.6.103 -uroot -p

原因是user表中host字段值匹配所有主机。(127.0.0.1,gflinux3,localhost,::1,192.168.6.103)这些都是指的一台主机,在user表中可以通过认证,从而可以登陆。

时间: 2024-07-29 17:52:21

关于root(其他)用户拒绝登陆mysql的处理方法的相关文章

微信小程序用户拒绝授权的官方推荐处理方法

小程序开发中,现在一般都需要获取微信用户信息,如头像/名字等.这样在用户第一次进入小程序时,微信端会弹出一个是否同意授权的消息提示框.但是如果用户第一时间点击了拒绝,或者用户手误点击了拒绝,如果没有了后续的操作,可能你的小程序就不能使用了,也就会失去这样一位用户.所以,微信官方推荐了一个方法,就是在用户第一次拒绝授权的时候,再给用户一个选择的机会.这样能很好的解决上诉问题.下面以用户需要授权两个权限为例,方法如下: 在 APP.JS 先设置两个全局变量 .用作记录用户是否授权 //判断地理位置是

mysql 安装后无法登陆mysql的 shell 那mysql>经验:ERROR 1045 (28000): Access denied for user 'root'@'localhost‘

[[email protected] ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 遇到:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 网上找了非常多的文章还是没有解决我的问题. 1.首先能够确认的是mysql 命令行 sql命令keywo

Linux关闭root用户远程登陆

之前的博文有写到如何修改远程登陆端口,这次说一下如何禁止root用户远程登陆. 方法很简单,首先用root用户vi /etc/ssh/sshd_config文件,找到如下文件 # Authentication: #LoginGraceTime 2m #PermitRootLogin yes #StrictModes yes 将#PermitRootLogin yes前的注释符号#去掉,并将yes改成no.即 PermitRootLogin no 保存并退出vi,再用root登陆时,会显示无法连接

linux 中 root用户登入mysql数据库权限受限

今天发现一个奇怪问题,root用户登入mysql数据库突然变得权限受限制了,没有权限mysql库 我的解决办法是在my.cnf配置文件内增加一条 ship-grant 免密码使用root账户登入数据库,发现可以查看到所有的数据库了,这时在重新设置下root账户的权限 grant all on *.* to 'root'@'localhost' identified by 'password'; 退出mysql 取消#skip-grant 然后重启mysql服务 ,再次用root登入mysql一切

wampserver登陆mysql出现#1045 - Access denied for user 'root'@'localhost' (using password: YES) 问题

原因:mysql的用户名和密码与phpMyAdmin的配置文件的用户名密码不相对应所以连不上去 解决: 1.登陆mysql修改密码 可以用cmd控制台登陆也可以用wamp的mysql控制台mysql console登陆 ->use mysql ->update user set password=password("密码") where user='root'; 2.修改phpMyAdmin的配置文件的用户名密码 \wamp\apps\phpmyadmin3.4.10.1下

在ubuntu12.04中,如何使用root用户直接登陆系统?

在ubunt12.04系统中如何使用root用户直接登陆系统? 在使用上述系统过程中,经常会因为权限原因一直需要sudo,然后输入密码,很麻烦,下面是可以直接使用root用户登陆ubuntu系统的一种方式,不过专家不建议直接使用root登陆系统,可能会误删系统文件 导致文件崩溃~当然,专家怎么说我们不管,我们只要方便,下面是具体过程! 1. 刚刚安装好的ubuntu系统中并没有对root用户进行密码设定,所以首先,我们需要对root进行密码设置 输入命令: sudo passwd root 然后

Navicat工具链接 mysql"Access denied for user'root'@'IP'" 用户远程赋值

如题 用Navicat远程连接数据库出现错误   给用户添加权限 连接MySQL mysql -uroot -p: use mysql; 更改权限 使用grant all privileges on来更改用户对应某些库的远程权限 grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option; flush privileges; 示例 GRANT ALL PRIVILEGES ON *.* TO

mysql新增用户无法登陆问题解决ERROR 1045 (28000)

mysql增加新用户无法登陆解决方法 ERROR 1045 (28000): Access denied for user 'appadmin'@'localhost' (using password: YES) 在搭建堡垒机jumpserver时,安装mysql后碰到这么一个问题: 新增用户jumpserver后,无法登陆,报以上错误. 解决办法: 解决方法: 增加普通用户后,执行: mysql> use mysql mysql> delete from user where user=''

Fedora以root用户自动登陆

目录 Fedora以root用户自动登陆 参考 配置自动登陆 Fedora以root用户自动登陆 Fedora Workstation Version: 31 ?? Written by Zak Zhu 参考 jonathanzhan/centos_7自动以root身份登录gnome桌面(https://blog.csdn.net/whatlookingfor/article/details/52382479) archlinux wiki: GDM (https://wiki.archlinu