Mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.
mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file
Você pode verificar se a senha do seu usuário foi criada no padrão antigo utilizando o comando a seguir (com uma conta que tenha acesso a essa tabela).
1 | SELECT `User`, `Host`, Length(`Password`) FROM mysql.user |
Esse comando vai te mostrar o comprimento das senhas e irá retornar 16 para contas com senhas no padrão antigo e 41 para as contas com senhas novas (e, 0 para contas com nenhuma senha).
Se você tiver permissão, para recriar a senha no padrão “novo”, você pode utilizar as queries a seguir:
1 2 | SET PASSWORD FOR 'User'@'Host'=PASSWORD('sua_senha'); FLUSH Privileges |
Caso você não possa fazer isso, você pode tentar utilizar as queries abaixo e alterar o seu php para:
1 2 | SET SESSION old_passwords=FALSE; SET PASSWORD = PASSWORD('[your password]'); |
1 2 | define('CLIENT_LONG_PASSWORD', 1); mysql_connect('[endereco_servidor]', '[nome_de_usuario]', '[sua_senha]', false, CLIENT_LONG_PASSWORD); |
abraço,
até…
Não existem posts relacionados.