
因为之前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@’%’
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)