At 12:58 -0400 6/28/03, J.A. Jones Tyler III wrote:
----- Original Message -----
From: "Paul DuBois" <[EMAIL PROTECTED]>

Where are these instructions found?

Got em here : http://www.analysisandsolutions.com/code/mybasic.htm#installation

<snip>


Yes, unless some other user table matches first, which may be what is happening in your case.

Cool. Ok, that's new info for me. What is the table order that MySQL uses to grant authentication? On that same note, if I understand your response, does it stop the minute it finds a suitable entry (I guess it matches the user name) or does it grab info from all tables for that username? If the latter, does it grant the privileges inclusively (i.e. does it get everything that they all grant individually (so you get different rights from different tables) or does it only grant what all of the tables allow (only those privileges that are granted on each table are granted)?

The server reads the grant tables into memory and sorts the entries into a particular order. The sorting order is described here:

http://www.mysql.com/doc/en/Connection_access.html

When a client attempts to connect, the server starts looking through the
entries.  When it finds one that matches both the client's host and the
username given by the client, it checks the password supplied by the
client.  If the password matches, the connection is accepted. Otherwise
it's rejected.

This means that you might have an entry for 'NewRootUser'@'%',  but if
another entry in the table matches earlier (for example, an anonymous
user entry of ''@'localhost' for a connection from localhost) but doesn't
have the right password, the connection will be rejected.


<SNIP>



Stopping and starting the service should be unnecessary. The FLUSH PRIVILEGES statement you're using causes the server to reload the grant tables.

Excellent. Thanks for the info!


 >
 >Here are some of the things which I do to supposedly
 >secure the MySQL install :
 >
 >delete from user where User='';
 >update user set User='NewRootName',
 >Password=password('NewPassword') where User='root';
 >update user set host='%' where user='NewRootName';
 >flush privileges;

 What is the output of the following statement after you issue the
 preceding statements:

SELECT Host, User, Password FROM user;

I get two entries, both for the same username (I've actually already uninstalled MySQL for the umpteenth time, but I did what you asked before to be sure it was there). The first instance of the username is matched to 'localhost' and the second instance is matched to '%'. In both cases the password is the same (in this case it was 'lwtest').


Thanks a TON for your assistance...I've spent quite a bit of time working on this daggone thing (as a side, I am 100% sure that I am doing something wrong, I just can't figure out what the heck it is!)

JT


--
Paul DuBois, Senior Technical Writer
Madison, Wisconsin, USA
MySQL AB, www.mysql.com

Are you MySQL certified? http://www.mysql.com/certification/


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



Reply via email to