Ok, now I can tell that this is definitely a bug of the install script. The password gets changed. I guess this happens in save.php line 155:
$aInputs[$key] = preg_replace('/[^a-z0-9_-]/i', '', Sanitize::StripFromText($aValue,31));
As far as I understand the regular expression, it deletes everything but letters, numbers, _ and - from the given string. My MySQL password contains characters other than that, so it doesn't work.
Edit:
I replaced "$aInputs[$key] = preg_replace('/[^a-z0-9_-]/i', '', Sanitize::StripFromText($aValue,31));" with "$aInputs[$key] = $aValue;" to check if I'm right. With this line it works, so it must be either the regular expression or the Sanitize part of this line. I'm not that good at regexp, adding \. after the - resulted in various other errors. Please help
