Edward Peloke wrote:
> 
> I am trying to get it to work more like it does in MSSQL.  In MSSQL, you can
> create a db named whatever and have several different "owners" in the
> database.  For example in a database named 'Eddie' I can create a table
> named ed.table1, pe.table2, etc.  In MYSQL, I can only create tables
> prefixed by the db name, eddie.table1, eddie.table2.  correct????
> 
> Thanks,
> Eddie
> 
> -----Original Message-----

Eddie:

I see your point.  I wouldn't get hung up on what MySQL looks like relative to
MSSQL.  Use the MSSQL Query Tool for a day and they start to look pretty
identical.

There's really no direct comparison between MSSQL security and MySQL security
interfaces, however.  They look different and there's no MMC for MySQL, but the
implementation you're trying to effect actually would look identical in either
if you look at the grant section of the MySQL manual outside the context of the
MMC/MySQL administrative tool you're using.

In MSSQL you can create a user and the applet in MMC lets you assign rights at
that time along with setting global and db/table/right specific things.  You can
also go into the Security section (forget what it's called) in MSSQL MMC and do
the same things.  In MySQL, the "MMC" could be one of several that people use
out there, but you can effect the same result.  The example given previously
does exactly what it appears you're attempting to accomplish:

GRANT USAGE ON *.* TO test@localhost;
GRANT USAGE ON *.* TO test2@localhost;
GRANT ALL PRIVILEGES ON db.* TO test@localhost
        IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON db.* TO test2@localhost
        IDENTIFIED BY 'some_pass';

If you have a db named 'Eddie' on your server you won't have tables named
ed.table1 and pe.table2.  They'll be named Eddie.table1 and Eddie.table2;
correct.  I'd have never thought to put a period in a table name under MSSQL,
which is what appears to have happened on your MSSQL Server per your example. 
Standard db naming conventions follow this form:  db.table.field.  

WRT creating 'tables prefixed by the db name' I'd encourage you to look at it
as:
mysqladmin create Eddie
mysql
mysql> USE Eddie;
mysql> CREATE TABLE Table1 (tid int);
mysql> INSERT INTO Table1 VALUES(1);
mysql> SELECT * FROM Table1;
-or-
mysql> SELECT * FROM Eddie.Table1;
-or-
mysql> USE mysql;
mysql> SELECT Eddie.Table1.tid FROM Eddie.Table1;

If your schema uses periods in it's implementation, I'd look at correcting that
before trying to think about it in MySQL terms (or Oracle, Sybase, DB2,
PostreSQL for that matter).  But the 4 grant statements above will give you a DB
that 2 users "own" {have full permissions to except for GRANT}.

Regards,
Van

-- 
=================================================================
Linux rocks!!!   http://www.dedserius.com/
=================================================================

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to