mysql的root的权限被控制无法授权

一.环境:

MariaDB [(none)]> select version();

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

| version()      |

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

| 5.5.50- |

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

二 . 工程师反馈无法创建账户

三.问题定位

查看user表,确定是否存在异常

无异常,用户存在,root权限也都在。通过命令查看root白名单权限:

Root权限被控制在mysql数据库上了。对比正常库的root权限:

显然是root被控只在mysql这个库上了,现在解除这个限制 问题是应该能解决的的。

四。问题解决方案

查看mysql.db,发现有mysql库的记录

最初想法是把mysql 改成通配符%。为稳妥性和正常库做了对比:

正常库中的db表是没有mysql库的记录的。Ok,那就把出现问题库的db中的mysql记录删除(删除前不要忘记做备份)。重启数据库后,root权限恢复。

时间: 2024-08-06 17:47:00

mysql的root的权限被控制无法授权的相关文章

MySQL - 设置root访问权限

修改数据库管权限最高权限的账号是root 首先要控制root链接数据库时只能用127.0.0.1来链接.use mysql;select user,host from user;执行完上面两句命令后会看到root的链接权限.把多余的删了,只留127.0.0.1就行了. 删除和设置命令同之前笔记里的命令一样. 然后刷新权限flush privileges 重新登陆mysql -uroot -h127.0.0.1 -p 注意?? 要加一个-h指定host ----------------------

解决误删Mysql中root所有权限的方法!

背景: 长时间的对着电脑,造成了"神志不清",一不小心在Mysql下误操作了"revoke all on *.* from 'root'@'localhost'; ",这个命令的意思就是删除mysql中最高权限的用户root的所有权限.因为本机mysql的密码为空,虽然依旧可以进去mysql,但再也不法执行修改操作. 解决方法: 1.首先杀掉mysql进程 #pkill mysql 2.以--skip-grant-tables方式启动 #/usr/local/mys

mysql的root用户无法给普通用户授权问题处理

1.查看Grant_priv是Y还是N 执行下面 select * from mysql.user where User='root' and Host='%'\G; 下图查看结果为Grant_priv是Y,如果是N,执行下面 update mysql.user set Grant_priv='Y' where User='root' and Host='%': flush privileges;(刷新权限) 问题解决 update mysql.user set Grant_priv='Y' w

MySQL数据库root权限丢失解决方案

一天不小心把ROOT的权限改到最小了(只能登录,什么都做不了),这可急死我了.重装的话太麻烦,而且里面有很多的用户,一个个重新弄不知道到什么时候. 后来我想了一个办法,先把当前服务器的MySQL服务停止,把MySQL DATa目录下的mysql目录改名为mysql_OLD,到另一个服务器下把mysql目录下的/data/mysql目录复制到对应目录,然后启动MySQL服务,使用另一服务器下的root 的帐号登录到PHPmyadmin,进去之后可以看到有全部的操作权限了,但这个数据表中没有当前服务

mac下修改mysql-root密码-各种权限问题解决

官方资料:http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix 还有一个值得参考的mysql安装,与python-mysql安装博客http://hearrain.com/2011/01/498 据官方文档说, For example, if you run the server using the mysql login account, you should l

Linux下修改Mysql的用(root的密码及修改root登录权限

修改的用户都以root为列. 一.知道原来的myql数据库的root密码: ①: 在终端命令行输入 mysqladmin -u root -p password "新密码" 回车 ,Enter password: [输入原来的旧密码]②: 登录mysql系统修改, mysql -uroot -p 回车 Enter password: [输入原来的密码] mysql>use mysql; mysql> update user set password=password(&qu

mysql修改root密码和设置权限

整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password o

Linux下MySQL开放root的远程访问权限

环境:RHEL 5.3 安装了MySQL之后,MySQL的root用户默认是不开放远程访问权限的.为了开放它,只需要两步: 用Linux系统的root用户登录系统,然后: (1)开放3306端口的远程连接权限: 在“-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited”这一行的上面(注意,一定是上面),添加如下一行: -A RH-Firewall-1-INPUT -m state --state NEW -m tc

【Mysql】修改root密码与创造一个与root一样权限的账号

可能要修改root密码,是因为要与服务器上Mysql数据库密码配合,你总不能每次更新都通过Ctrl+H来替换网络工程的服务器密码解决,否则可能替换到其它与数据库无关的字段.这就导致这个工程更加起不来了. 除了之外,为了本地又有一个与root一样权限的账号参与测试,做些小demo,因此也需要在本地上创建一个与root一样权限的账号. 首先你都要打开MySQL Command Line Client命令行. 一.修改原来安装的时候root账号的密码 同理可以修改其它账号的密码, 在命令行依次输入如下