Problem:
Ein in Confixx angelegter MySQL-User bekommt alle Datenbanken angezeigt. Nutzen kann er zwar nur seine eigenen, aber dennoch ist dieses Verhalten unerwünscht.
Erklärung:
Nach einem Update auf MySQL 4 (oder auf manchen Systemen, wo bereits MySQL 4 installiert ist) werden die Felder create_tmp_table_priv
und Lock_tables_priv
in der Tabelle mysql.user nicht mehr belegt. Default-Werte sind allerdings Y
.
Lösung:
Folgende SQL-Befehle lösen das Problem dauerhaft. Sie müssen als 'root' ausgeführt werden:
#Vorhandene User einstellen:
UPDATE user SET Create_tmp_table_priv='N', Lock_tables_priv='N' WHERE user LIKE 'web%';
#Default-Wert einstellen:
ALTER TABLE user MODIFY Create_tmp_table_priv ENUM('N','Y') DEFAULT 'N';
ALTER TABLE user MODIFY Lock_tables_priv ENUM('N','Y') DEFAULT 'N';
#Benutzerrechte neu einlesen:
flush privileges;