V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
changefun
V2EX  ›  MySQL

mysql 不授予用户 SUPER 权限就什么都干不了?

  •  
  •   changefun · 2018-10-23 20:33:02 +08:00 · 7017 次点击
    这是一个创建于 2251 天前的主题,其中的信息可能已经有所发展或是发生改变。

    mysql 版本: 5.7.19

    常规步骤:

    1. grant SHOW DATABASES on *.* to xm@localhost identified by '123';
      上面的 SQL 语句是授予本地 xm 用户对所有数据库都可用show databases命令是吧, 可是退出重新登录后无法执行任何操作, 于是上网搜了一番...

    2. grant SUPER on *.* to xm@localhost;
      执行上面语句, 为 xm 用户添加了 SUPER 权限后才可以执行show databases命令, 也可以用use xxx命令.

    我就纳闷了, 难道如果想授予那些增删改查权限, 都要添加 SUPER 权限?, 官网好像说 SUPER 权限以后的版本会废除....

    什么都干不了的体现是: mysql -u xm -p123连接上去后, 输入show databases;或者use xxx这些命令的返回全都是:

    ERROR 2006 (HY000): MySQL server has gone away
    No connection. Trying to reconnect...
    Connection id:    54
    Current database: *** NONE ***
    ERROR 1184 (08S01): Aborted connection 54 to db: 'unconnected' user: 'xm' host: 'localhost' (init_connect command failed)
    
    1 条回复    2018-10-24 08:24:50 +08:00
    changefun
        1
    changefun  
    OP
       2018-10-24 08:24:50 +08:00
    网上说 Mysql 权限机制第二阶段是先检查你所发出的请求, 然后查询 mysql.user 表(全局)是否有对应的权限(例如 Select_priv 是否为 Y), 没有则继续往下查询 mysql.db 表, 一直查询完 grant tables 的几个表,如果都没有就拒绝. 可是操作起来让我感觉到好像是如果 mysql.user 表没有对应的权限, 就直接拒绝了, 不再往下查询 db 这些表了......
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2380 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.