I hit the exact same error described in the post that started this thread. What misled me is that before first running setup I added the mysql user and password specified in the zp-config.php file to mysql and created an empty mysql database using the name from zp-config.php, but forgot to grant mysql privileges to that database to that user. Setup then gave me the error:
"MySQL access rights [unknown]
"Your MySQL user must have Create, Drop, Select, Insert, Update, and Delete rights.
"The SHOW GRANTS query failed."
Being a big believer in least privilege, I then granted the zenphoto mysql user the specified privileges to the zenphoto database: Create, Drop, Select, Insert, Update, and Delete. Rerunning setup after this is when I got the same error message that started this thread. As it turns out, the zenphoto mysql user also needs Alter privileges to the zenphoto database. Perhaps the confusion is that what sbillard calls the "update" part of setup when he writes "What is happening is that the update part of setup is not happening" actually uses mysql "alter table" statements, which requires the mysql user to have Alter privileges which are separate from Update privileges: mysql Update privileges only all a user to change the actual data stored in a table, not to alter the definition of the table or its columns. I'd suggest adding "Alter" to the list of privileges specified as required in line 455 of setup.php (zenphoto-1.1.6):
`gettext("Your MySQL user must have [code]Create[/code], [code]Drop[/code], [code]Select[/code], [code]Insert[/code], [code]Update[/code], [code]Delete[/code], and [code]Alter[/code] rights.") . $report);`