An answer to my own question. I have solved this problem which seems to be due to the way
mysql 4.1.7 stores it's passwords. I used the mysql function OLD_PASSWORD to make mysql
store it's passwords in the pre 4.1.x method. Basically the syntax is:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd') WHERE Host = 'some_host'
> AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
Now I seem to be able to connect.
On Wed, 17 Nov 2004, Gleb Paharenko wrote:
> Did you use mysql client program from 4.1.7 installation? When you use
> it from 4.1.0 or older (on another machine) there some differences in
> authentication handshake.
> jabbott@stripped wrote:
> > I have done some looking in the archive for this but can't seem to find anything
> recent that seems to apply.
> > I have a brand new install of 4.1.7 on a Redhat 9 box. I compiled it with:
> > CFLAGS="-O3 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro
> -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix /usr/local/mysql
> --enable-assembler --with-mysqld-ldflags=-all-static --datadir /web/data
> > It starts just fine. This is a new install and I haven't put any data in it so
> I don't think that I need to do any sort of permission fixing (Isn't that just for
> migrated data?) I can connect to it via local host just fine but if I try to connect from
> another machine running 4.1.? I get:
> > bash-2.05$ mysql landfill -u root -p -h 192.168.1.100
> > Enter password:
> > ERROR 1043: Bad handshake
> > bash-2.05$
> > Any idea what I am doing wrong?
> > --ja