I am running mysql  Ver 12.20 Distrib 4.0.13, for pc-linux (i686) on RedHat
6.2 (so shoot me, I'm using an old scratch computer so I won't break
anything on the real development machine)

 

I tried to create a user by inserting directly into mysql.user.  When I set
user.host to localhost, it works, when I set it to % it doesn't.  I thought
% matched anything, and so should match localhost.  In case I've missed
something in the docs, please direct me to the correct page.

 

I ran this, and it worked

----------------------------------

mysql -u root mysql << EOF

delete from user where user = 'foo';

insert into user (host, user, password) values('localhost', 'foo',
password('bar'));

flush privileges;

EOF

 

mysql -u foo -pbar << EOF

quit

EOF 

----------------------------------

So then I tried the same thing, just changing localhost to %, and  the
second mysql, where I try to log in as user foo, password bar (I know it's
unsafe to put the password on the command line, this is just for testing)
says

ERROR 1045: Access denied for user: '[EMAIL PROTECTED]' (Using password: YES)

----------------------------------

mysql -u root mysql << EOF

delete from user where user = 'foo';

insert into user (host, user, password) values('%', 'foo', password('bar'));

flush privileges;

EOF

 

mysql -u foo -pbar << EOF

quit

EOF

----------------------------------

So I tried adding this line to after the insert

 

select host, user, password from user where user = 'foo';

 

in case maybe I had botched the insert, or there were other entries in the
user table that messed things up.  Here's what I got (looks OK to me):

 

host    user    password

localhost       foo     7c9e0a41222752fa

 

host    user    password

%       foo     7c9e0a41222752fa

 

 

Reply via email to