Hi Michael, Thanks for the reply.
It doesn't work, at least not with 4.0.18. I also tried without the _ to simplify the case, but the grant statement isn't wild about the wildcard. :) The docs you list are for 4.1. I guess I will have to wait until 4.1. :) In the meantime, this works well: SYSTEM rm /var/mysql/tmp/grants-tmp.sql; SELECT DISTINCT concat('GRANT SELECT ON ',db,'.* TO [EMAIL PROTECTED]'%\' IDENTIFIED BY \'abc\';'), concat('GRANT SELECT ON ',db,'.* TO [EMAIL PROTECTED]'%\' IDENTIFIED BY \'def\';'), concat('GRANT SELECT ON ',db,'.* TO [EMAIL PROTECTED]'%\' IDENTIFIED BY \'ghi\';') FROM db WHERE db LIKE 'dev\_%' INTO OUTFILE '/var/mysql/tmp/grants-tmp.sql'; SOURCE /var/mysql/tmp/grants-tmp.sql; Brian ====================================================================== On Thu, Sep 16, 2004 at 05:28:51PM -0400, Michael Stassen wrote: > This is documented in the manual: > > Note: the '_' and '%' wildcards are allowed when specifying database > names in GRANT statements that grant privileges at the global or > database levels. > <http://dev.mysql.com/doc/mysql/en/GRANT.html> > > So, if dev is the prefix, you need: > > GRANT SELECT ON 'dev%'.* TO [EMAIL PROTECTED] > > If dev_ is your prefix, the next line from the manual is relevant: > > This means, for example, that if you want to use a '_' character as > part of a database name, you should specify it as '\_' in the GRANT > statement, to prevent the user from being able to access additional > databases matching the wildcard pattern; for example, > GRANT ... ON 'foo\_bar'.* TO .... > > Then you would need > > GRANT SELECT ON 'dev\_%'.* TO [EMAIL PROTECTED] > > Michael > > Brian C. Hill wrote: > > > I have about 20 DB's with the same prefix. > > > > How can I do something like > > > > GRANT SELECT ON dev_*.* .... > > > > I have seen examples for the _other_ DB software, like msql, > >that does something like: > > > > SELECT 'GRANT SELECT ON '+name+' TO webuser;' > > from sysobjects > > where type = 'U' > > > > (which generates the grant statements to run) > > > > Is this possible in mysql? Maybe something like: > > > > SELECT 'GRANT SELECT ON '+name+' TO webuser;' > > from `show databases like 'dev_%'` > > > > I know that sub-queries aren't possible, but does anyone have > >any suggestions that don't involve weighty shell scripts? > > > > Is there anyway to write show databases to file > >without the bordering box? > > > >Brian > > -- _____________________________________________________________________ / Brian C. Hill [EMAIL PROTECTED] http://brian.bch.net \ | UNIX Specialist BCH Technical Services http://www.bch.net | -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]