Hi all, I am having a problem with mysql. I set up root password set password for root at localhost=password('xxxxxxxxx'); set password for root@'xxx.yyyy.com'=password('yyyyyyyy'); after that I tried to log in, but mysql says ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) I guess that I had the right password. My friend told me that I might have used a wrong password, so I set up new password for root. However, mysql says the exactly same thing!! ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) I was not sure about the error, so I decided to remove mysql and deleted /var/lib/mysql. After that I reinstalled mysql and set up mysql again. However, mysql again says ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) I am 100000% sure that I am using the right passward for root I am quite puzzled by the error and need your help. Does anyone know how I can fix this problem? I am using CentOS4.3. Thank you for your help. Cheers, Joe ___________________________________________________ Try the New Netscape Mail Today! Virtually Spam-Free | More Storage | Import Your Contact List http://mail.netscape.com
kenkensmile at netscape.net wrote:> Hi all, > > I am having a problem with mysql. I set up root password > > set password for root at localhost=password('xxxxxxxxx'); > set password for root@'xxx.yyyy.com'=password('yyyyyyyy');Mysql passwords are a mantrap pit full of sharpened stakes and lizards. I don't claim to understand the system, but I have three pieces of advice that get me out of the deathpit: - you MUST do flush privileges; after messing with the privs or your messing is ignored until you restart mysqld. - There are two kinds of password hashes in use, and they are incompatible!!! IIRC password() makes the new kind and OLD_PASSWORD() makes the older kind. Depending on the age of the client you are using to connect, it will hash your password one way or the other. - The privilege tables are done as database tables. use mysql; show tables; will get you started. God help me I found it easier to mess with the privilege tables directly -- don't forget the flush -- than use the sql syntax. Oh one more ... tables themselves have privileges separate from the general login, but I don't think that's the problem here from the error. -Andy -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 4492 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.centos.org/pipermail/centos/attachments/20060520/734d53a5/attachment-0002.bin>
On Fri, 2006-05-19 at 23:23 -0400, kenkensmile at netscape.net wrote:> Hi all, > > I am having a problem with mysql. I set up root password > > set password for root at localhost=password('xxxxxxxxx'); > set password for root@'xxx.yyyy.com'=password('yyyyyyyy'); > > after that I tried to log in, but mysql says > > ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using > password: YES) > I guess that I had the right password. > > My friend told me that I might have used a wrong password, so I set up > new password for root. > However, mysql says the exactly same thing!! > ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using > password: YES) > > I was not sure about the error, so I decided to remove mysql and > deleted /var/lib/mysql. > After that I reinstalled mysql and set up mysql again. > However, mysql again says > ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using > password: YES) > I am 100000% sure that I am using the right passward for root > > I am quite puzzled by the error and need your help. > Does anyone know how I can fix this problem? > I am using CentOS4.3. Thank you for your help. >OK ... another thing that I see frequently when dealing with this issue is the location of localhost in your /etc/hosts file ... don't ask me why, but it sometimes matters. Put the localhost name first in the line, like this: 127.0.0.1 localhost xxxxx yyyy.yyy (where xxxxx and yyyy.yyy are the other names currently on the loopback line) _OR_ use the first name in the /etc/hosts in the 127.0.0.1 line as the @ machine name. The first field after the IP address is name .. the others are aliases. MySQL seems to have issues with aliases sometimes. At least, that is my observation ... -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.centos.org/pipermail/centos/attachments/20060520/ca3ebcda/attachment-0002.sig>
On May 20, 2006, at 7:33, Johnny Hughes wrote:> OK ... another thing that I see frequently when dealing with this > issue > is the location of localhost in your /etc/hosts file ... don't ask me > why, but it sometimes matters. Put the localhost name first in the > line, like this: > > > 127.0.0.1 localhost xxxxx yyyy.yyyI've seen this cause many problems with other tools as well (not just mysql). I always thought it was wrong to include the actual hostname in the localhost line, and it's one of the first thing I change after building a system. Does any one else think it's a good idea to include the hostname in this line? Alfred