I just CVS updated, ran checksetup.pl, and got the following error: Creating table flags ... Creating table flagexclusions ... Creating table flaginclusions ... Creating table flagtypes ... Converting attachment statuses to flags... DBD::mysql::db do failed: Access denied for user: 'bugs@localhost' to database 'bugs' at ./checksetup.pl line 3385. DBD::mysql::db do failed: Access denied for user: 'bugs@localhost' to database 'bugs' at ./checksetup.pl line 3386. done. Reminder: Bugzilla now requires version 8.7 or later of sendmail. The two lines referenced are: $dbh->do("DROP TABLE attachstatuses"); $dbh->do("DROP TABLE attachstatusdefs"); Is it possible that the default setup we encourage for Bugzilla does not give the bugs user permission to drop tables? I can provide details of my MySQL permissions config if someone tells me the commands to run. Gerv
Running checksetup a second time gives: Converting attachment statuses to flags... Can't use an undefined value as an ARRAY reference at ./checksetup.pl line 3303. Presumably it thinks the conversion hasn't been done, and then dies when it tries to get a fieldid from the fielddefs table. Gerv
Well, the error the second time is because we can't use transactions arround each block. Hope you had a backup.... Mind you, since we ignore errors in checksetup (yuck), failing todrop the table shouldn't have caused any problems, if you drop it mnanually yourself, now. Its possible your bugs user doens't have DROP permission, although tables have been dropped in teh past, so I would have expected it to be there, or other errors. The docs say: mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY '<bugs_password>'; mysql> FLUSH PRIVILEGES; which does include drop...
Ok, so the docs recommend granting drop permissions and tables have been dropped before. Is this still a bug?
I read through checksetup.pl carefully, and I can't see any other instances of entire tables being dropped. Fields, yes, but not tables. How would I ask my MySQL exactly what permissions my bugs user has? Gerv
Theres a DROP TABLE longdescs in there, from 2000-11-27 SHOW GRANTS FOR bugs@localhost will show you the options you have - you may not need the |@localhost|, depending on your local setup. This bug is INVALID
> Theres a DROP TABLE longdescs in there, from 2000-11-27 Yes, but I'd only have ever run that if DB came from before then. > SHOW GRANTS FOR bugs@localhost I was indeed missing DROP. Maybe the Bastille hardening script removed it, or something. INVALID it is. Gerv