mysql root无法修改用户权限,root无法 *** 作数据库

mysql root无法修改用户权限,root无法 *** 作数据库,第1张

因为之前root安全设置问题,把root的select_priv, update_priv, insert_priv, delete_priv权限都给下掉了。

现在要grant 修改非root用户权限的时候发现修改不了,才发现是root权限的问题。

修改mysql配置文件

mysqld新增skip-grant-tables,wq保存退出

重启mysql服务

进入mysql

查看mysql用户表信息,发现root没有CURD的权限

发现问题直接update,修改它,如果其它权限没了,也可以修改

修改my.cnf,注释掉skip-grant-tables

重启mysql服务

登录root账号,就可以用了

其实和服务器的修改方法一样

查看my.cnf挂载情况,如果已经知道了my.cnf的挂载位置,就不用执行这一步。

找到my.cnf配置文件,这边的挂载到宿主机的配置在/opt/mysql/config/my.cnf

注意 5d15960f2861 是我自己的 CONTAINER ID

如果my.cnf没有挂载出来,那就进容器里面改my.cnf了,注意 5d15960f2861 是我自己的 CONTAINER ID

my.cnf 中的mysqld新增skip-grant-tables,wq保存退出

重启docker mysql服务

进入docker mysql容器的mysql服务

查看mysql用户表信息,发现root没有CURD的权限

发现问题直接update,修改它,如果其它权限没了,也可以修改

修改my.cnf,注释掉skip-grant-tables

重启docker mysql服务

登录root账号,就可以用了

第一步:管理员权限账号登陆phpMyAdmin,一般用root登录。

第二步:设置用户权限。

编辑 hellen 这个用户的权限。如下图所示:

第三步:选择相应的权限,点击执行

上面权限意思可以对照下面翻译:

数据

SELECT:允许读取数据

INSERT:允许插入和替换数据。

UPDATA:允许更改数据。

DELETE:允许删除数据。

FILE:允许从文件中导入数据以及将数据导出至文件。

结构:

CREATE:允许创建新数据库和表。

ALTER:允许修改现有表的结构。

INDEX:允许创建和删除索引。

DROP:允许删除数据库和表。

CREATE TEMPORARY TABLES:允许创建暂时表。

CREATE VIEW:允许创建新的意见。

SHOW VIEW:显示创建的看法。

CREATE ROUTINE:允许创建存储过程。

ALTER ROUTINE:允许改变和下降存储过程。

EXECUTE:允许许执行存储过程。

管理:

GRANT:允许添加用户和权限,而不允许重新载入权限表。

SUPER:允许在达到最大允许数目时仍进行连接。

PROCESS:允许查看进程列表中的完整查询。

RELOAD:允许重新载入服务器设置并刷新服务器的缓存。

SHUTDOWN:允许关闭服务器。

SHOW DATABASES:允许访问完整的数据库列表。

LOCK TABLES:允许锁住当前线索的表。

REFERENCES:在此版本的 MySQL 中无效。

REPLICATION CLIENT:用户有权询问附属者/控制者在哪里。

REPLICATION SLAVE:回复附属者所需。

CREATE USER:允许创建,下降和重新命名的用户帐户。

第四步:重新加载授权表

修改完用户权限以后需要回到 phpMyAdmin 的首页,重新加载一下授权

如下图所示:

mysql更改用户权限

This entry was posted by admin Monday, 26 April, 2010

1.“grant all on *.* to root@’%’ identified by ‘yourpassword’”——这个还可以顺带设置密码。

2.“flush privileges”——刷新一下,让权限生效。

mysql的一些其他的管理,可以用mysqladmin命令。可以用来设置密码什么的。

grant方面的详细信息可以看我下面的转载:

本文实例,运行于 MySQL 5.0 及以上版本。

MySQL 赋予用户权限命令的简单格式可概括为:

grant 权限 on 数据库对象 to 用户

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to common_user@’%’

grant insert on testdb.* to common_user@’%’

grant update on testdb.* to common_user@’%’

grant delete on testdb.* to common_user@’%’

或者,用一条 MySQL 命令来替代:

grant select, insert, update, delete on testdb.* to common_user@’%’


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7210335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存