MySQL – ‘Bad Handshake’ Error After Entering Password

MySQL

I'm having problem to connect to the remote DB from the terminal as follow

mysql -u db_user -p -h 10.100.1.100
Enter password:

afer entering password I'm getting that error:

ERROR 1043 (08S01): Bad handshake

and I can connect to the DB from a PC using MySQL Workbench.

Running MySQL Ver 14.14 Distrib 5.1.73 for CentOS6

Best Answer

There is old Bug Report about MySQL Workbench connecting to older databases.

Others have come across this

When you google the subject of "mysql bad handshake", you will see two basic issues:

  • Older Versions of MySQL
  • Older Versions of ODBC/JDBC Drivers

The second post I referred to actually recommends "dummying down" and using an older product (MySQL Administrator for you Old School DBAs like myself).

Main thing to do is to make sure your drivers match the version of Workbench you are using. BTW Don't feel bad about using MySQL 5.1. There are still a lot of die-hards out there that are using (I hope you sitting down), MySQL 3.23.58.

WHAT TO DO

Use Older Versions of MySQL Workbench, Navicat, SquirrelSQL.

Hey, that worked in the second post (Click Here for Those Tools)

Please remember that MySQL 5.1 made allowances for MySQL 4.1 password authentication. Newer ODBC/JDBC drivers may not understand MySQL 5.1's way of authenticating and other network-related things, colloquially called "BAD HANDSHAKE".