Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL PHP несъвместимост

MySQL акаунтът, който използвате, вероятно има стара парола от 16 знака (хеш).
Можете да тествате това с MySQL клиент (като HeidiSQL, конзолен клиент на MySQL или друг клиент) и акаунт, който има достъп към mysql .user маса. Ако полето за парола съдържа 16 знака, това е стара парола и mysqlnd не може да го използва за свързване към MySQL сървъра.
Можете да зададете нова парола за този потребител с

SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')

вижте dev_mysql_set_password

редактиране:
Трябва също да проверите дали сървърът е настроен на използвайте/създайте стари пароли по подразбиране .

edit2:
Моля, изпълнете заявката

SELECT
  Length(`Password`),
  Substring(`Password`, 1, 1)
FROM
  `mysql`.`user`
WHERE
  `user`='username'

на сървъра 5.0.22 (този, който се „проваля“). Заменете username от акаунта, който използвате в mysql_connect().
Какво връща това?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Връщане на n-тия запис от MySQL заявка

  2. Пример за JDBC изявление – пакетно вмъкване, актуализиране, изтриване

  3. Как да получите най-новия запис във всяка група с помощта на GROUP BY?

  4. Как да конвертирам от BLOB в TEXT в MySQL?

  5. Защо приблизителният брой редове е много различен в резултатите от phpmyadmin?