Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Incompatibilidade MySQL PHP


A conta MySQL que você está usando provavelmente tem uma senha antiga de 16 caracteres (hash).
Você pode testar isso com um cliente MySQL (como HeidiSQL, o cliente do console MySQL ou qualquer outro cliente) e uma conta que tenha acesso para o mysql .user tabela. Se o campo Senha contiver 16 caracteres, é uma senha antiga e mysqlnd não pode usá-lo para se conectar ao servidor MySQL.
Você pode definir uma nova senha para esse usuário com
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')

veja dev_mysql_set_password

edit:
Você também deve verificar se o servidor está configurado para usar/criar senhas antigas por padrão .

edit2:
Por favor, execute a consulta
SELECT
  Length(`Password`),
  Substring(`Password`, 1, 1)
FROM
  `mysql`.`user`
WHERE
  `user`='username'

no servidor 5.0.22 (aquele que está "falhando"). Substitua username pela conta que você está usando em mysql_connect().
O que isso retorna?