› 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 · Oct 23, 2018 · 7816 views
    This topic created in 2895 days ago, the information mentioned may be changed or developed.

    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 replies  •  2018-10-24 08:24:50 +08:00
    changefun
        1
    changefun  
    OP
       Oct 24, 2018
    网上说 Mysql 权限机制第二阶段是先检查你所发出的请求, 然后查询 mysql.user 表(全局)是否有对应的权限(例如 Select_priv 是否为 Y), 没有则继续往下查询 mysql.db 表, 一直查询完 grant tables 的几个表,如果都没有就拒绝. 可是操作起来让我感觉到好像是如果 mysql.user 表没有对应的权限, 就直接拒绝了, 不再往下查询 db 这些表了......
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   924 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:48 · PVG 06:48 · LAX 15:48 · JFK 18:48
    ♥ Do have faith in what you're doing.