恢复Root用户的所有权限

Root用户无法授权其他用户

通过Shell登录Mysql(5.6.30),创建远程账户,授权用户权限 (失败) 。

mysql -uroot -p

> 输入密码
mysql> use mysql;
mysql> create user user01@'%' identified by 'password' ##创建远程用户 user01
mysql> grant all privileges on myDB.* to user01; ##授权 user01 操作 myDB(需要操作的数据库) 所有权限

一般情况下执行完上述代码,创建远程账户和授权远程账户就会执行成功 . (但是这次报错了)

root无法授权其他用户

1 、Root授权报错

注意 :
这并不是密码登录的时候报错, 需要你进行修改密码 。 所以你查询这个错误是容易误导的。百度给出答案的都是让你修改密码 。这时候你要考虑为什么执行 grant 命令会报错 ?

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

2、 查看当前账户

select current_user(); ##查看当前用户 或 select user();

确保当前登录的用户是root , 而非其他没有权限的用户

3、查看 Root用户 Grant权限

show grants;

注意箭头位置 , 当前root的权限并不是所有权限 ( ALL PRIVILEGES )
而是单个组合起来的权限 , 所以当前root不能给其他用户赋予 all 的权限

修复 Root用户的所有权限

1、停止Mysql

service mysql status;  ##查看mysql状态
service mysql stop;    ##停止mysql

2、跳过Mysql权限验证登录

> mysqld_safe --skip-grant-tables &
> mysql

或者直接连起来执行 (linux下忘记Mysql密码可以通过此方式进入Mysql修改密码)
> mysqld_safe --skip-grant-tables &mysql

3、手动修改用户的权限 (使其可以设置权限)

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';

4、刷新系统权限

FLUSH PRIVILEGES;

5、授权ROOT所有权限

GRANT ALL ON *.* TO 'root'@'localhost';  ##授权 root 所有权限

6、查看用户权限

select * from mysql.user\G    ##\G表示竖着排列查看

就此 ! Root 所有权限已修复完成。 也可以通过 show grants 查看。

修复ROOT所有权限

可以授权其他账户啦

GRANT ALL ON *.* TO 'user01'@'%';  ##授权 user01 所有权限

授权其他用户权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Linux系统中,可以通过将用户添加到sudoers文件中,来给用户root。sudoers文件中可以指定哪些用户可以使用sudo命令来执行特定的命令,从而获得root。在终端中,用户可以使用sudo命令来执行需要root的命令,例如安装软件、修改系统配置等操作。但是需要注意的是,使用root需要谨慎,因为误操作可能会导致系统崩溃或数据丢失。 ### 回答2: Linux将root给予用户的目的是为了给用户最高的系统管理权root是Linux系统中的超级用户,拥有对系统的完全控制能力。 当用户被赋予root后,他们可以执行一系列的操作,包括但不于: 1. 安装、升级和删除软件包:用户可以使用root来安装、升级和删除软件包,这对于定制系统或者满足特定需求非常有用。 2. 系统配置和管理:用户可以修改系统的配置文件、权和服务设置,以满足自身的需求。他们可以更改网络设置、添加新用户、管理用户等等。 3. 文件和文件夹的管理:用户可以对文件和文件夹进行各种操作,包括创建、删除、复制、移动等。此外,用户还可以修改文件的权所有权。 4. 管理进程:用户可以查看当前正在运行的进程,并有能力停止或启动它们。这对于排查问题或者优化系统性能十分有用。 虽然root赋予用户了广泛的系统管理能力,但也因此存在一些潜在的风险。错误的操作可能导致系统崩溃或数据丢失。因此,我们应该谨慎使用root,并仅在需要的时候使用它。最好的做法是在普通用户模式下完成大部分工作,只有在必要时才切换到root模式来执行特定的任务。这样,可以降低意外错误的风险,同时保障系统的安全性和稳定性。 ### 回答3: Linux操作系统赋予用户root的目的是为了让用户能够拥有对系统的完全控制和管理权Root用户是Linux系统中的超级用户,拥有最高权,可以执行系统的所有操作。 首先,授予用户root可以保证系统的安全性和稳定性。通过root用户可以对系统进行底层的操作和管理,例如安装、更新和删除软件,配置系统设置,访问和修改系统文件等。这样一来,用户可以更有效地管理系统资源,提高系统的安全性和性能。 其次,root还可以解决一些需要系统管理员干预的问题。由于root可以访问和修改系统的所有文件和目录,因此用户可以通过root来解决一些系统故障和问题。例如,当系统出现异常或崩溃时,用户可以使用root来查找并修复问题,以恢复系统的正常运行。 但是,赋予用户root也存在一些潜在的风险。由于root用户具有最高权,误操作或不慎的操作可能会对系统造成严重的损害。因此,用户在使用root时必须格外谨慎,特别是在操作敏感文件和目录时要特别小心,以免引起系统的故障或数据的丢失。 总之,Linux赋予用户root是为了使用户能够对系统进行全面的控制和管理,提高系统的安全性和稳定性。但是,用户在使用root时应当谨慎操作,避免对系统造成不可逆的损坏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐米多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值