Please note: the `_' and `%' wildcards are allowed when specifying database names in GRANT statements that grant privileges at the global or database levels. This means that if you wish to use for instance a `_' character as part of a database name, you should specify it as `\_' in the GRANT command, to prevent the user from being able to access additional databases matching the wildcard pattern, for example, GRANT ... ON `foo\_bar`.* TO ....
Michael
Bostjan Skufca (at) domenca.com wrote:
Hello
I am using MySQL 4.0.18 and i have come accross weird behaviour.
I created the databas and user like this:
CREATE DATABASE dev_project;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON dev_project.* TO [EMAIL PROTECTED] IDENTIFIED BY "somepass";
FLUSH PRIVILEGES;
So, user has all privileges set in mysql.db table (except Grant_priv) an absolutely none set in mysql.user table. So far so good.
BUT:
when i log into mysql as that fresh user I cat do CREATE DATABASE `dev?project`; CREATE DATABASE `dev-project`; CREATE DATABASE `devaproject`; CREATE DATABASE `devbproject`; CREATE DATABASE `devcproject`; etc...
AND!
USE devaproject;
AND!!
CREATE TABLE test (id int not null); INSERT INTO test SET id=1; SELECT * FROM test; +----+ | id | +----+ | 1 | +----+ 1 row in set (0.00 sec)
Now am I missing something - is this by design? or it is a bug in MySQL grant system?
Best regards,
Bostjan Skufca system administrator
Domenca d.o.o. Phone: +386 4 5835444
Fax: +386 4 5831999
http://www.domenca.com
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]