使用EMS MySQL Manager Pro(3.4.0.1)连接MySQL 5.6.20时,报错:“SELECT command denied to user xxx@xxx.xxx.xxx.xxx for table 'proc'

很是纳闷,后面使用同样的权限,发现使用命令工具mysql -h xxxx -u username -p连接时不会报错。个人猜测是因为EMS MySQL Manager(3.4.0.1)连接数据库时,会去查询mysql.proc表获取相关的对象(存储过程、函数等)。于是在测试服务器开启了MySQL查询日志,然后在客户端电脑使用EMS MySQL Manager Pro连接到数据库(Connect to Database),然后检查查询日志具体信息,发现如下所示,EMS MySQL Manager连接数据库时确实会去查询mysql.proc, 而因为权限问题,所以报如上错误:

#tail -60f /var/lib/mysql/mytestlnx02.log 

/usr/sbin/mysqld, Version: 5.6.41 (MySQL Community Server (GPL)). started with:

Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock

Time                 Id Command    Argument

190108 14:54:07   111 Connect   mytest@letnb00021 on 

                  111 Query     SHOW VARIABLES

                  111 Query     SHOW STATUS

                  111 Quit

                  112 Connect   mytest@letnb00021 on MyDB

                  112 Query     BEGIN

                  112 Query     show collation

                  112 Query     SHOW VARIABLES

                  112 Query     SHOW ENGINES

                  112 Query     SHOW FULL TABLES

                  112 Query     SHOW FULL TABLES

                  112 Query     SHOW COLUMNS FROM `mysql`.`proc`

                  112 Query     SHOW INDEX FROM `mysql`.`proc`

                  112 Query     select p.`db`, p.`name`, p.`type`, p.`specific_name`, p.`language`, p.`sql_data_access`, p.`is_deterministic`, p.`security_type`, p.`param_list`, p.`returns`, p.`body`, p.`definer`, p.`created`, p.`modified`, p.`sql_mode`, p.`comment` from `mysql`.`proc` as p where p.`type` = 'PROCEDURE' and p.`db`='MyDB'

解决方案:

1:使用root账号登录数据库,执行下面SQL语句授予相关查询权限,即可解决问题(使用具体账号替换usename)

grant select on mysql.proc to username

2: 在EMS MySQL Manager工具对应的Register Database的"Display Options" 选项里面,取消"Procedures"、"Functins"选项也可以解决问题。这样EMS MySQL Manager连接数据库时,不会去查询相关的存储过程、函数等对象。就不会报这个错误。但是呢,这样就会在工具里面看不到这些对象。

MySQL:select command denied to user for table 'proc'案例的更多相关文章

  1. ERROR 1044 (42000) ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user'

    ERROR: Access denied for user 'root'@'localhost' (using password: NO)    发现:    mysql -u root@localh ...

  2. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user’

    Linux环境 Mysql+Hibernate command denied to user 错误 错误信息 如下: com.mysql.jdbc.exceptions.jdbc4.MySQLSynt ...

  3. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user 'xxxx'@''

    这两天项目一直在报这个错误消息: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to ...

  4. [已解决]#1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

    症状:在phpmyadmin那边打不开表,提示 #1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_ui ...

  5. SELECT command denied to user ''@'%' for column 'xxx_id' in table 'users_xxx' 权限问题

    问题的原因是:最主要是权限的问题. 大概说下 ,我导数据库时提示错误:SELECT command denied to user ''@'%' for column 'xxx_id' in table ...

  6. [phpmyadmin] phpmyadmin select command denied to user

    phpmyadmin 在查看一个数据库中Table的数据的时候,会提示 select command denied to user 在Ubuntu下,我是使用重装Phpmyadmin的方式解决的 卸载 ...

  7. 数据库建表权限 CREATE command denied to user for table

    今天在表中用Navicat连接服务器上的mysql账号进行建表,报了个这样类似的错, CREATE command denied to user for table 是数据库权限设置的问题,所以无法进 ...

  8. 踩坑系列《一》数据库建表权限 CREATE command denied to user for table

    今天在表中用Navicat连接服务器上的mysql账号进行建表,报了个这样类似的错, CREATE command denied to user for table 是数据库权限设置的问题,所以无法进 ...

  9. SELECT command denied to user 'username'@'ip' for table 'user'错误处理

    错误信息 使用RDS for MySQL,程序执行查询SQL时报错如下: SELECT command denied to user 'username'@'ip' for table 'user' ...

随机推荐

  1. OAuth2.0记录

    阮一峰老师讲解OAuth2.0 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 举例详解: https://www.cnblogs.com/ ...

  2. Python中使用type、metaclass动态创建方法和属性

    1: type() 我们知道动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Person的class: class Person(obj ...

  3. Dynamics CRM模拟OAuth请求获得Token后在外部调用Web API

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复233或者20161104可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  4. 一起学Android之Storage

    概述 在Android开发中,存储(Storage)的方式根据具体的需求不同而不同,例如数据对应用程序是私有的还是其他应用程序(和用户)可以访问的,以及保存数据需要多大的空间. 存储分类 主要的存储方 ...

  5. EasyToLearnDesignPattern

    简单上手设计模式 GITHUB:https://github.com/Fisher-Joe/EasyToLearnDesignPattern 本文旨在使用最简单的语言,最简单的代码让人学习设计模式(最 ...

  6. 《ECMAScript6入门》___阮一峰 笔记

    let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使 ...

  7. 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识

    第41章      HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...

  8. SUSE12SP3-Mycat(2)Schema.xml配置详解

    简介 Schema.xml 作为 MyCat 中重要的配置文件之一,管理着 MyCat 的逻辑库.表.分片规则.DataNode 以及 DataSource.弄懂这些配置,是正确使用 MyCat 的前 ...

  9. 【Linux篇】--sed的用法

    一.前述 Sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 ...

  10. org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer

    如图: 详细错误信息如下: org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.l ...