Ok thank you for your replies. I finally got it working, but as you stated I granted too many permissions. I found that in the user table my testUser had N for every column with the exception of the last few which where 0.

I first logged into the database using:

shell>mysql -u root -p mysql

So I used:

mysql>GRANT ALL PRIVILEGES ON test.* TO 'testUser'@'localhost' IDENTIFIED BY 'some_password';

and:

mysql>GRANT ALL PRIVILEGES ON test.* TO 'testUser'@'%' IDENTIFIED BY 'some_password';

Then I did:

mysql> select * from user where user.User='testUser';

Which returned:

| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | +-----------+----------+------------------------------------------- +-------------+-------------+-------------+-------------+------------- +-----------+-------------+---------------+--------------+----------- +------------+-----------------+------------+------------ +--------------+------------+-----------------------+------------------ +--------------+-----------------+------------------+------------------ +----------------+---------------------+-------------------- +------------------+----------+------------+------------- +--------------+---------------+-------------+----------------- +----------------------+ | % | testUser | *12F46AB3EF1939F7B217B125466177AFA18495CF | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | | localhost | testUser | *12F46AB3EF1939F7B217B125466177AFA18495CF | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 |

I then did:

UPDATE user SET Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_p riv='Y' WHERE user.User='testUser';


I can now access the server using my test user: testUser.

However, even though I specified 'test.*' my test user can access the mysql database. doesn't test.* limit the user to the test database? or should it have been 'test' no quotes of course.

Is there a way to update the database access without deleting the user and redoing it all?

Thanks for the help.

On Nov 6, 2005, at 12:23 AM, Michael Stassen wrote:

Bruce Martin wrote:
When I log in as root using:
mysql -u root -p mysql
I get the mysql prompt:
mysql>
I then issue this command or statement:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'testUser'@'' IDENTIFIED BY 'some_password' WITH GRANT OPTION;

First, your hostname is blank. That won't work. You need to either specify a hostname, or use the wildcard character, '%'. See the manual for details <http://dev.mysql.com/doc/refman/5.0/en/connection-access.html>.

Second, why are you making testuser equivalent to root? Don't give a user any more privileges than necessary. For a test user, I'd suggest starting with just

  GRANT ALL PRIVILEGES ON test.* TO 'testUser'@'localhost'
  IDENTIFIED BY 'some_password';

I get the following returned:
Query OK, 0 rows affected (0.00 sec)
Why is this not working?

What makes you think it didn't work? You didn't get an error message. Instead, you got "Query OK". Looks like it worked, to me.

To test it further I try to log in as testUser but it tells me access denied for user [EMAIL PROTECTED]

That's not the whole error message. Please show us your exact comand, and copy/paste the exact error message. We could try to guess what's wrong (probably there is no [EMAIL PROTECTED]), but it's better not to guess.

Even if I grant the testUser @ localhost.

No spaces. Again, show us the exact GRANT command, the exact connection command, and the exact error message.

I can look in the user table and sure enough user [EMAIL PROTECTED] is there.

Better yet, you can verify a user's privileges with the SHOW GRANTS command:

  SHOW GRANTS FOR [EMAIL PROTECTED];

Bruce Martin
The Martin Solution
PO Box 644
Delaware Water Gap, PA
(570) 421-0670
[EMAIL PROTECTED]

Michael

Bruce Martin
The Martin Solution
PO Box 644
Delaware Water Gap, PA
(570) 421-0670
[EMAIL PROTECTED]


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to