42 | grant之后要跟着flush privileges吗?
42 | grant之后要跟着flush privileges吗?
讲述:林晓斌
时长12:54大小11.84M
全局权限
db 权限
表权限和列权限
flush privileges 使用场景
小结
上期问题时间
赞 40
提建议
精选留言(29)
- way2019-02-20写个比较小的点:在命令行查询数据需要行转列的时候习惯加个\G ; 比如slave slave stauts \G ; 后来发现 ; 是多余的。列几个常用的 \G 行转列并发送给 mysql server \g 等同于 ; \! 执行系统命令 \q exit \c 清除当前SQL(不执行) \s mysql status 信息 其他参考 \h展开
作者回复: 👍 我最开始使用MySQL的时候,就是不自然的在\G后面加分号 而且还看到报错,好紧张😆
共 6 条评论68 - undifined2019-02-18权限的作用范围和修改策略总结: http://ww1.sinaimg.cn/large/d1885ed1ly1g0ab2twmjaj21gs0js78u.jpg
作者回复: 👍,优秀
共 7 条评论43 - Leon📷2019-02-18老师我使用delte删除用户,再创建用户都是失败,但是使用drop就可以了 mysql> create user 'ua'@'%' identified by 'L1234567890c-'; ERROR 1396 (HY000): Operation CREATE USER failed for 'ua'@'%' mysql> drop user 'ua'@'%'; Query OK, 0 rows affected (0.00 sec) mysql> create user 'ua'@'%' identified by 'L1234567890c-'; Query OK, 0 rows affected (0.01 sec) 是不是drop才会同时从内存和磁盘删除用户信息,但是delete只是从磁盘删除展开
作者回复: 对,drop是同时操作磁盘和内存, delete就是我们说的不规范操作
共 2 条评论32 - 发芽的紫菜2019-02-18老师,联合索引的数据结构是怎么样的?到底是怎么存的?看了前面索引两章,还是不太懂,留言里老师说会在后面章节会讲到,但我也没看到,所以来此问一下?老师能否画图讲解一下
作者回复: 联合索引就是两个字段拼起来作索引 比如一个索引如果定义为(f1,f2), 在数据上,就是f1的值之后跟着f2的值。 查找的时候,比如执行 where f1=M and f2=N, 也是把M,N拼起来,去索引树查找
共 7 条评论30 - 虢國技醬2019-07-18老师的文章信息量(密度)很大,一般情况下得读好几遍,甚至读到头大;本篇是少有的几篇一口气读完能理解的,不容易啊 😂19
- 旭东(Frank)2019-02-18老师请教一个问题:MySQL 表设计时列表顺序对MySQL性能的影响大吗?对表的列顺序有什么建议吗?
作者回复: 没有影响 建议就是每次如果要加列都加到最后一列😆
共 3 条评论13 - 夜空中最亮的星2019-02-18通过老师的讲解 flush privileges 这回彻底懂了,高兴😃
作者回复: 👍
共 2 条评论10 - 冰点182019-04-10两三个月的时间,终于在上班地铁上读完了整部专栏,老师辛苦了!接下来就是搭建环境,二刷和验证了!一直有个问题,想问下老师,您用的画图工具是哪个?风格我特别喜欢,但是没找到
作者回复: ipad 上的pencil ,是编辑小姐姐画的哈,我画的是矩形的图😅
10 - XD2019-02-18老师,我刚说的是acl_db,是在db切换的时候,从acl_dbs拷贝到线程内部的?类似acl_user。 session a drop user 'test'@'%'; create user 'test'@'%' identified by '123456'; grant SELECT,UPDATE on gt.* to 'test'@'%'; session b 使用test登录 use gt; session a revoke SELECT,UPDATE on gt.* from 'test'@'%'; session b show databases; //只能看到information_schema库 use gt; // Access denied for user 'test'@'%' to database 'gt' show tables; //可以看到gt库中所有的表 select/update //操作都正常展开
作者回复: 你说的对,我刚翻代码确认了下,确实是特别对“当前db”有一个放过的逻辑。 多谢指正。我勘误下。
10 - 夹心面包2019-02-18我在此分享一个授权库的小技巧, 如果需要授权多个库,库名还有规律,比如 db_201701 db_201702 可以采用正则匹配写一条 grant on db______,每一个_代表一个字符.这样避免了多次授权,简化了过程。我们线上已经采用
作者回复: 是的,MySQL还支持 % 赋权,%表示匹配任意字符串, 比如 grant all privileges on `db%`.* to ... 表示所有以db为前缀的库。 不过。。。我比较不建议这么用😅
共 2 条评论7 - 一步2020-04-05为什么执行 grant 赋权的命令时,后面还要加上 with grant option 呢? 试了一下不加也是可以的共 4 条评论4
- 不负青春不负己🤘2020-03-05我以前一直以为新增加的授权,只针对新的连接生效,对于已存在的权限,不生效,现在是对于某个用户授予全局的权限,对于已存在的连接不生效,对于 db,table 相关的权限是对于已存在的连接和新的连接都是立即生效4
- 业余草2019-06-27从学习中来,到实战中去!做了一个总结,可能写的不对,希望老师指点。https://mp.weixin.qq.com/s/7KGQGpm0IGaVjco6UjLeAQ
作者回复: 认真看了这篇文章,我有点疑惑哦 “这招够狠。重启在程序员届的杀招被他接上了。但是,重启失灵了,重启后,已有的连接还是没权限。具体的表现是,备库上的复制连接还是未权限。” 主库重启的话,备库的连接也是重新创建的 如果“重启无效”而“kill连接有效”,那不太合理哦
共 2 条评论4 - 钱2019-08-09这篇容易消化,老师辛苦,你不讲这个,我想我很难发现这个细节,业务开发增删改查用的多,其他命令平时不咋用。 多玩才能发现更多好玩的,如果能有几个老师这样的朋友一起玩,那该有多好玩。
作者回复: 👍
4 - Sinyo2019-02-18查一张大表,order_key字段值对应的最小createtime; 以前一直用方法一查数,后来同事说可以优化成方法二,查询效率比方法一高了几倍; mysql特有的group by功能,没有group by的字段默认取查到的第一条记录; 方法一: select distinct order_key ,createtime from (select order_key ,min(createtime) createtime from aaa group by order_key) a join aaa b on a.order_key = b.order_key and a.createtime = b.createtime 方法二: select order_key ,createtime from (select order_key ,createtime FROM aaa order by createtime ) a group by order_key展开
作者回复: 👍 这第二个写法跟: select order_key ,createtime FROM aaa force index(createtime) group by order_key 的逻辑语义相同吗?
共 2 条评论3 - 张诚2021-06-07老师,我有一个问题。在我们的程序中,往往会用到数据库连接池。在修改mysql一些全局配置时,往往只会对后续新建立的连接才生效。但是数据库连接池中那种老的连接就会一直是原来的配置。 这种情况我们是必须重启应用才行吗? 还有能大概说一下修改配置,只对后续新增的连接生效的配置的例子吗? 类似修改全局的事务隔离级别,sql_mode的参数好像也是展开2
- 老K2021-01-25实测了一把: 连接A: CREATE USER 'tester' @'%' IDENTIFIED BY 'pa'; 连接B: 使用 tester 登录正常连接 随后在连接A里面执行: REVOKE ALL PRIVILEGES ON *.* FROM 'tester' @'%'; flush PRIVILEGES; 无论怎么着都可以使用 tester连接上来,这是怎么了?让人凌乱 只有 service mysql restart 方可生效. MySQL 版本:5.5.6 使用的 Navicat 客户端展开共 1 条评论1
- 萤火虫2019-02-20坚持到最后 为老师打call
作者回复: 👍 是真爱
1 - 舜2019-02-19老师,介绍完了order by后能不能继续介绍下group by的原理?等了好久了,一直想继续在order by基础上理解下group by,在使用过程中两者在索引利用上很相近,性能考虑也类似
作者回复: 37篇讲了group by的,你看下 还有问再提出来😆
1 - 爸爸回来了2019-02-18众所周知,sql是不区分大小写的。然而,涉及插件的变量却不是这样;上次在配置一个插件的参数的时候,苦思良久……最后发现了这个问题。难受😭
作者回复: 😆你说的是参数的名字,还是参数的值?
1