Od dĺžky hesla nezávisí dĺžka hešu, ktorý zapisuješ do databázy, pretože dĺžka hešu je rovnaká. V staršej verzii to bolo 16 znakov, teraz je to viac a preto sa to pri vkladaní oreže. Pri porovnávaní potom porovnávaš reťazce rôznej dĺžky.
Treba zväčšiť dĺžku toho poľa a použiť takú funkciu na hešovanie, pri ktorej vieš, koľko miesta na to potrebuješ (md5, sha1 - viď manuál).
Funkcia PASSWORD vráti niečo takéto (to sa do 15 znakov nevojde):
mysql> select password('heslo')
*AADB89769FF364D8537700AE065872FDA6E980F3
mysql> select old_password('heslo')
4e633cf914a735a0