I can't get table-specific grants to work.
(FIRST: I log in as an administrator and run the following command:)
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON myDataBase.watch TO '%';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT * FROM tables_priv;
+------+------------+------+------------+-------------------+----------------+-----------------------------+-------------+
| Host | Db | User | Table_name | Grantor | Timestamp |
|Table_priv | Column_priv |
+------+------------+------+------------+-------------------+----------------+-----------------------------+-------------+
| % | myDataBase | % | watch | nhamlin@localhost | 20020116151451 |
|Select,Insert,Update,Delete | |
+------+------------+------+------------+-------------------+----------------+-----------------------------+-------------+
1 row in set (0.00 sec)
mysql> select Host, Db, User, Select_priv as SEL, Insert_priv as INS, Update_priv as
UPDT, Delete_priv as DEL FROM db WHERE user = 'dummy';
+------+------------+-------+-----+-----+------+-----+
| Host | Db | User | SEL | INS | UPDT | DEL |
+------+------------+-------+-----+-----+------+-----+
| % | myDataBase | dummy | Y | N | N | N |
+------+------------+-------+-----+-----+------+-----+
1 row in set (0.00 sec)
(SECOND: I log out and log back in using another user with the following credentials:)
mysql> select user, Select_priv as SEL, Insert_priv as INS, Update_priv as UPDT,
Delete_priv as DEL FROM user WHERE user = 'dummy';
+-------+-----+-----+------+-----+
| user | SEL | INS | UPDT | DEL |
+-------+-----+-----+------+-----+
| dummy | N | N | N | N |
+-------+-----+-----+------+-----+
1 row in set (0.00 sec)
(THIRD: I see if I can access the table.)
mysql> select * from watch;
+---------+---------+---------+---------------------+
| user | w_table | w_value | create_date |
+---------+---------+---------+---------------------+
| nhamlin | fo | 6075 | 2002-01-03 13:46:22 |
| nhamlin | fo | 7584 | 2002-01-04 14:51:56 |
| nhamlin | p_q | 3350 | 2002-01-10 12:23:48 |
| nhamlin | cpr | 4101 | 2002-01-10 19:24:56 |
| nhamlin | cpr | 4094 | 2002-01-11 17:38:46 |
| nhamlin | fo | 7 | 2002-01-15 10:10:34 |
| qa568 | fo | 10409 | 2002-01-16 12:46:38 |
+---------+---------+---------+---------------------+
7 rows in set (0.00 sec)
(FOURTH: I then try to add a value to the table. This is where it fails.)
mysql> insert into watch values ('dummy','fo','6075',NOW());
ERROR 1142: insert command denied to user: 'dummy@localhost' for table 'watch'
What am I doing wrong? I have about 9 tables inside of MyDataBase, and I only want
two tables, 'watch' and 'user', to be updatable by anyone with an existing account who
can log in from anywhere (more specifically, the web).
Nicholas
---------------------------------------------------------------------
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