Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Niezgodność MySQL z PHP

Konto MySQL, którego używasz, prawdopodobnie ma stare hasło o długości 16 znaków (hash).
Możesz to przetestować za pomocą klienta MySQL (takiego jak HeidiSQL, klienta konsoli MySQL lub dowolnego innego klienta) i konta, które ma dostęp do mysql .user stół. Jeśli pole Hasło zawiera 16 znaków, jest to stare hasło i mysqlnd nie można go użyć do połączenia z serwerem MySQL.
Możesz ustawić nowe hasło dla tego użytkownika za pomocą

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

zobacz dev_mysql_set_password

edit:
Powinieneś również sprawdzić, czy serwer jest ustawiony na domyślnie używaj/twórz starych haseł .

edit2:
Proszę uruchomić zapytanie

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

na serwerze 5.0.22 (tym, który "nie działa"). Zastąp username według konta, którego używasz w mysql_connect().
Co to zwraca?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Eksportowanie tabeli z Amazon RDS do pliku CSV

  2. Przyspieszenie liczenia wierszy w MySQL

  3. Jak konwertować małe litery na wielkie w MySQL

  4. 12 najlepszych praktyk bezpieczeństwa MySQL/MariaDB dla systemu Linux

  5. Użyj relacyjnych baz danych MySQL w Fedorze 12