Navigation
- FAQ Home
- All categories
- About Webyog support and about this FAQ
- About the SQLyog program

- Connection issues

- Using the GUI
- Managing your MySQL Database Systems

- Database Schema Synchronization
- MySQL DATA synchronization
- SQL Scheduler and Reporting Tool
- Importing external data
- Backup/Restore
- SQLyog Job Agent (SJA)

- Working with Views, Stored Procedures and Triggers
- Character Set and Localization Issues
- MySQL bugs that affect SQLyog
- Questions on Open Source and Compiling
- Sitemap
Most popular FAQs 
- I get error 1130 "Host is not allowed to ... (169314 views)
- Error no. 2003: Can't connect... (86274 views)
- SQLyog Version History (63952 views)
- Error no. 1045: "Connection denied..." (61348 views)
- Error no. 1251: "Client does not support authentication..." (58317 views)
- Error No. 2005: Unknown MySQL server host... (50193 views)
- What is HTTP-tunneling? (42282 views)
- What Is SSH and SSH-tunneling? (38073 views)
- Can I use SQLyog with the WINE Windows emulator ... (34946 views)
- Why are Stored Procedures not created when I import ... (34267 views)
Latest FAQs 
- SQLyog Version History (2012-01-26 08:20)
- SQLyog is a client for the MySQL server - ... (2011-11-04 04:48)
- I get error 1130 "Host is not allowed to ... (2011-11-01 05:21)
- Problems on Ubuntu 11.x (2011-10-29 13:02)
- Problems creating a functional DSN on 64 bit Windows. ... (2011-09-15 14:34)
Sticky FAQs
Using the GUI
I connect as a user who has GRANT option but User Management fails.
To illustrate this we create such user
GRANT ALL ON ´somedatabase´.* TO 'oneuser'@'localhost' WITH GRANT OPTION;
As this user has ALL privileges to a specific database and WITH GRANT OPTION he will successfully be able to GRANT any set of privileges ON ´somedatabase´ TO another user. For instance this will work for user 'oneuser' from any command-line tool including the SQLyog editor:
GRANT SELECT, INSERT, UPDATE ON ´somedatabase´.´sometable´ TO 'otheruser'@'localhost';
But if user 'oneuser' tries to open SQLyog User Management in order to do the same a MySQL error is returned. So 'oneuser' can manage (a limited set) of user privileges if he uses the right command syntax and know what other users exist. So the question is: why can't he use the SQLyog User Management for this as well?
The reason is that there is no way for a client to know what other users exist and what privileges they have already if SELECT privileges to the privileges tables in the ´mysql´ database are not available. That is true no matter if you try to retrieve the information using a SELECT from the ´mysql´ database, the ´information_schema´ database or use SHOW GRANTS statements. The MySQL server will not expose the information to this user ('oneuser') as he has not appropriate privileges.
So basically this is the difference between a 'programmed client' and a 'human operator': the human may have some knowledge in advance so that he will not need to query the server for information required to compose a valid statement.
However if user 'oneuser' was granted privileges like this:
GRANT ALL ON ´somedatabase´.* TO 'oneuser'@'localhost' WITH GRANT OPTION;
GRANT SELECT ON ´mysql´.´user´ TO 'oneuser'@'localhost';
GRANT SELECT ON ´mysql´.´tables_priv´ TO 'oneuser'@'localhost';
GRANT SELECT ON ´mysql´.´procs_priv´ TO 'oneuser'@'localhost';
GRANT SELECT ON ´mysql´.´columns_priv´ TO 'oneuser'@'localhost';
.. he would be able to populate the User management GUI and successfully perform the equivalent of the above "GRANT SELECT, INSERT, UPDATE .." statement from the GUI (but would still encounter an error should he try to GRANT privileges to objects outside ´somedatabase´ of course).
Tags: -
Related entries:
- Do I need PHP to use SQLyog with MySQL?
- SQLyog gives you the most options for connecting to MySQL
- Welcome to the SQLyog FAQ
- Installation and upgrading
- SQLyog Version History
Last update: 2010-09-08 15:18
Author: Peter Laursen
Revision: 1.0
You can comment this FAQ