Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it possible in MySQL to block users from executing these statements?

DESC "table"

Or I need to write a MySQL transport port wrapper ?

GRANT ON TABLE does not help to hide database structure from a user.
I want my developers to not be allowed of dumping database structure and show tables name

The configuration file: /etc/my.cnf

share|improve this question
up vote 2 down vote accepted

What I am about to say would be rather crazy but entirely possible. Here it goes...



  • Download MySQL Proxy
  • Program the LUA scripts to ignore
    • DESC "table"
    • SHOW CREATE TABLE "table"
  • Have your developers access DB using MySQL-Proxy-based IP Addresses


I would say Give it a Try, but I have never done anything like this before.

Notwithstanding, it would be a brave C/C++ or LUA soul indeed to engage in such an undertaking...

share|improve this answer
Crazy suggestion 1b (download and compile the mysql server)? I mean for 1 to work, you'll have to restrict their access to the Internet so they don't get another client, restrict command line access, not allow PHPMyAdmin install (or restrict use), whatever that can be connected should be removed. – ypercubeᵀᴹ Jul 3 '13 at 20:15
@ypercube and call it YourSQL !!! – RolandoMySQLDBA Jul 3 '13 at 20:17
Just wow. It just might work... – gbn Jul 4 '13 at 9:35

SHOW TABLE is implied by SELECT because SELECT means you need to see the table structure. So it can't be blocked. The same applies for SHOW CREATE TABLE

DESC = DESCRIBE = SHOW COLUMNS FROM anyway, which is the same.

So no, it can't be done via MySQL Permissions if you want the developers to run queries

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.