mysql的root用户无法给普通用户授权问题处理
短信预约 -IT技能 免费直播动态提醒
先看错误现象:
很奇怪,root用户应该不可能无法授权普通用户。看提示像是说密码错误。但是实际上密码没有问题。
决定去看看mysql.user表中root@localhost这个用户的权限是怎么样的。在mysql.user表中记录了与全局相关的权限信息。这个全局权限不是指拥有所有的权限,它具体指的是拥有该MYSQL服务器所有数据库对象的权限。
mysql> select * from mysql.user where User='root' and Host='localhost'\G;
可以看到Grant_priv是N。很显然,因为root@localhost这个用户没有授予权限的权限,所以之前的操作报错。修改一下Grant_priv的值为Y,刷新下,然后退出重新登录。问题就解决了。
总结:这个问题不是很常见。但是这个问题提供了一种解决思路,在权限出问题时,应如何入手。mysql中权限的粒度由粗到细分别是全局,数据库,表,列,程序。可以用一句话来概括:分配某个用户从某台机器连接进来访问某个数据库下的某张表的某个列的某部分记录的权限。记录与全局相关的权限信息就是mysql.user表中。记录数据库级别的权限信息是mysql.db表。记录表对象的授权信息记录是mysql.tables_priv表中。列级权限记录在mysql.column_priv表中。
很奇怪,root用户应该不可能无法授权普通用户。看提示像是说密码错误。但是实际上密码没有问题。
决定去看看mysql.user表中root@localhost这个用户的权限是怎么样的。在mysql.user表中记录了与全局相关的权限信息。这个全局权限不是指拥有所有的权限,它具体指的是拥有该MYSQL服务器所有数据库对象的权限。
mysql> select * from mysql.user where User='root' and Host='localhost'\G;
可以看到Grant_priv是N。很显然,因为root@localhost这个用户没有授予权限的权限,所以之前的操作报错。修改一下Grant_priv的值为Y,刷新下,然后退出重新登录。问题就解决了。
mysql> update mysql.user set Grant_priv='Y' where User='root' and Host='localhost';
mysql> flush privileges;
总结:这个问题不是很常见。但是这个问题提供了一种解决思路,在权限出问题时,应如何入手。mysql中权限的粒度由粗到细分别是全局,数据库,表,列,程序。可以用一句话来概括:分配某个用户从某台机器连接进来访问某个数据库下的某张表的某个列的某部分记录的权限。记录与全局相关的权限信息就是mysql.user表中。记录数据库级别的权限信息是mysql.db表。记录表对象的授权信息记录是mysql.tables_priv表中。列级权限记录在mysql.column_priv表中。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
mysql的root用户无法给普通用户授权问题处理
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
2024-04-02
linux怎么给普通用户提供root用户的权限
本篇内容主要讲解“linux怎么给普通用户提供root用户的权限”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux怎么给普通用户提供root用户的权限”吧!sudo 的特点限制用户执行指定
2023-06-05
Linux下普通用户用sudo su给自己加root权限的方法
首先:
sudo这个命令就是给后面的命令加上root权限(sudo=superuser do),su这个命令是switch user,切换用户,你sudo su这个命令的意思是用root的权限来切换到()用户。你根本没有指定用户,当然切换
2022-06-04
mysql 的root 用户无法授权,navicat 远程授权提示1044解决方案
先看解决方案#------------mysql root 用户无法赋权问题解决 --------1,登录 mysql -u root -p2,use mysql; 选择mysql数据库3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效)mysq
2020-10-01
Linux 解决Deepin无法在root用户启动Google Chrome浏览器的问题
解决Deepin无法在root用户启动Google Chrome浏览器的问题,步骤如下。
1.找到Chrome的路径
which google-chrome
假如路径为:/usr/bin/google-chrome
2.编辑goog
2022-06-04
如何解决win10系统提示无法使用内置管理员账户打开的问题
小编给大家分享一下如何解决win10系统提示无法使用内置管理员账户打开的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法/步骤:1.在键盘上按下win+R调
2023-06-27