Ik heb last van een aantal vreemde dingen in MySQL. Ik probeer via een PHP script een database toe te voegen, en gelijk te koppelen aan een user. Mijn PHP script draait de volgende query's:
CREATE DATABASE `bla`
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `bla`.* TO 'gebruiker'@'localhost'
FLUSH PRIVILEGES
De database wordt aangemaakt en de gebruiker heeft toegang. So far so good...
Nu klik ik op mijn mooie knopje om de database te verwijderen. De volgende query's zouden uitgevoerd moeten worden:
FLUSH PRIVILEGES
REVOKE ALL PRIVILEGES ON `bla`.* FROM 'gebruiker'@'localhost'
DROP DATABASE bla
De FLUSH PRIVILEGES bij het verwijderen heb ik gedaan om te testen. Bij REVOKE ALL... kreeg ik namelijk de error "access denied...". Nu ik de FLUSH heb toegevoegd, krijg ik echter deze error:
Access denied; you need the RELOAD privilege for this operation
De user waarmee PHP connect heeft RELOAD privileges (nu zelfs alle privileges, dus een soort van kopie van de root user). Het vreemde is dat het meestal wel werkt om databases toe te voegen, maar soms ook niet. Idem bij het verwijderen. Waar kan dit aan liggen?
CREATE DATABASE `bla`
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `bla`.* TO 'gebruiker'@'localhost'
FLUSH PRIVILEGES
De database wordt aangemaakt en de gebruiker heeft toegang. So far so good...
Nu klik ik op mijn mooie knopje om de database te verwijderen. De volgende query's zouden uitgevoerd moeten worden:
FLUSH PRIVILEGES
REVOKE ALL PRIVILEGES ON `bla`.* FROM 'gebruiker'@'localhost'
DROP DATABASE bla
De FLUSH PRIVILEGES bij het verwijderen heb ik gedaan om te testen. Bij REVOKE ALL... kreeg ik namelijk de error "access denied...". Nu ik de FLUSH heb toegevoegd, krijg ik echter deze error:
Access denied; you need the RELOAD privilege for this operation
De user waarmee PHP connect heeft RELOAD privileges (nu zelfs alle privileges, dus een soort van kopie van de root user). Het vreemde is dat het meestal wel werkt om databases toe te voegen, maar soms ook niet. Idem bij het verwijderen. Waar kan dit aan liggen?