mysql root有grant权限但是无法进行授权

https://blog.csdn.net/li740207611/article/details/103298093

mysql 权限配置
key
mysql, 授权, 新增, root有grant权限但是无法进行授权

警告
如果部署Mysql的服务器是外网可以访问的,则强烈建议不要使用默认的3306端口,还有就是root账号禁用或者设置为只能从本地登录.
不然很容易被攻击.
flush privileges;
命令和 source /etc/profile 效果一样, 只不过是更新msql的设置

特殊语法
# 忽略大小写
lower_case_table_names=1
# 开启对所有远程登录的监听
bind_address=0.0.0.0
# 查看是否监听所有ip地址,都可以进入
netstat -antpl
输出结果,0.0.0.0:3306,标识所有远程ip可以访问,如果是local/127.0.0.1 则表示只能通过本地登录mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -         

查看当前登录用户权限
 # 方法1
 show grants;
 # 方法2 
 ## 切换数据库
 use mysql
 select * from user;

查看当前登录用户
select user();

输出结果:
| user()             |
+--------------------+
| soe@218.241.189.29 |
+--------------------+

新增一个用户
#方法1, 用户名:zhangsan, 密码: zhangsan
    create user zhangsan identified by 'zhangsan';

# 方法2, 授权的同时创建账号,数据库:zhangsanDb, 数据库的所有表用 * , %分号标识可以使用远程登录.
    grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
# 把刚才修改的内容重新载入内存,达到及时更新,否则只能通过重启mysql进行更新
    flush privileges;

## 删除一个用户

# 1,
    delete from user where user='root'
# 2,  删除账户及权限:
    drop user 用户名@'%';
    drop user 用户名@ localhost; 

root有grant权限但是无法进行授权
    show grants for root;
#1, 如果不是显示的  all privileges grant option ,则授权不能成功.
#2,  通过查看,root的哪个权限不是 Y
    use mydql; //切换数据库
    select * from user where user='root';
#3,  把所有不是Y的权限项,改为Y
    update  user set priv='Y' where user='root';
#4  改完之后查看root,是否拥有所有权限 all privileges  ,并且有授权的权限 grant option 
    show grants for root; 

    A+
发布日期:2021年07月24日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: