Percona Agent not connecting to server with old password authentication

When trying to install percona-agent-1.0.4-x86_64 I’m receiving the error

Testing MySQL connection monitor_user:…@unix(/var/run/mysqld/mysqld.sock)…
Error connecting to MySQL monitor_user:…@unix(/var/run/mysqld/mysqld.sock):
Failed to connect to MySQL after 1 tries
(This server only supports the insecure old password authentication.
If you still want to use it, please add ‘allowOldPasswords=1’ to your DSN.
See also https://github.com/go-sql-driver/mysql/wiki/old_passwords)

Connecting via TCP host & port produces the same error.

The percona-agent-installer application has the command-line option -old-passwords

Running

#./bin/percona-agent-installer -debug=true -old-passwords=true

produces the same error.

How do I get the Percona Agent to connect to a server with the variable old_passwords set to ON ?

I’ve managed a work-around:

  • create a new user in a different Percona server with old_passwords=0
  • copy the hashed 41-character password into the password field of the mysql.user record in the original server
  • flush privileges

percona-agent will now install

This is known problem. For now there is workaround.

You can disable old_passwords on session level.

mysql> SET SESSION old_passwords=0;

Create Percona agent database user.

And finally install the agent with --create-mysql-user=false flag