I am trying to run mysqldbcompare to see the difference between two tables:

mysqldbcompare --server1=server1:2016@localhost --server2=server2:2016@localhost user:user --difftype=sql --run-all-tests

I get this error. I have already granted all privileges to users.

ERROR: Query failed. 1142 (42000): SELECT command denied to user 'server1'@'localhost' for table 'proc'


You should enable the dbuser to have READ permissions to the proc table.

The process attempts to perform a SELECT statement on the 'proc' table. The 'proc' table is a system table which retains the procedures of all users on that mysql instance. On shared hosting, allowing userA to see the procedures of userB, which would include information about table structure, etc., would be considered breach of security.All info found here

Or you can use the root user.

| improve this answer | |

Add this to the connection string

Use Procedure Bodies =false; 
| improve this answer | |
  • Hi there, welcome to the site. Could you explain a bit more about what that does and how it should help? – Tom V Feb 13 '17 at 7:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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