Seite 1 von 2
DB-Benutzer das Recht geben, einen MySQL-Index zu erstellen?
Verfasst: 15.11.2009, 15:48
von Business-Experte
Guten Sonntag!
Ich will mediawiki auf einem Webspace installieren, jedoch hat der Standardnutzer webxxx keine Rechte, einen Index anzulegen. Das ist aber notwendig für mediawiki und infolgedessen bricht das Installationsscript ab.
Es handelt sich um shared hosting und mir stehen als Werkzeuge nur confixx und PHPMyAdmin zur Verfügung.
Muss ich nur für die Rechte extra den Support anrufen (Erst morgen wieder) oder geht es auch anders?
Gibt es einen besonderen Grund, weshalb man als Normalkunde keine Rechte auf "CREATE INDEX" hat, aber "CREATE DATABASE" und "CREATE TABLE" sehr wohl ausführen kann?
(Ist das bei allen Shared Hostern üblich?)
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Re: DB-Benutzer das Recht geben, einen MySQL-Index zu erstel
Verfasst: 15.11.2009, 17:38
von Mork vom Ork
Business-Experte hat geschrieben:Muss ich nur für die Rechte extra den Support anrufen (Erst morgen wieder) oder geht es auch anders?
Wenn MySQL dir sagt, du darfst keinen Index anlegen, dann geht das nicht. Der einzig gangbare Weg ist, dass du dir das Index-Recht einräumst, aber das geht vermutlich erst recht nicht.
Gibt es einen besonderen Grund, weshalb man als Normalkunde keine Rechte auf "CREATE INDEX" hat, aber "CREATE DATABASE" und "CREATE TABLE" sehr wohl ausführen kann?
Nein, im Gegenteil. Eine Tabelle nur ohne Indizes anlegen zu können ist etwas albern, denn wenn etwas eine Datenbank gut nutzbar macht, dann doch der Index, der schnellen Datenzugriff erst ermöglicht.
Deshalb kann ich mir auch nicht so recht vorstellen, dass das seitens deines Hosters so gewollt ist; mit so einer Aktion würde er nur unnötig Last und damit Kosten erzeugen.
(Ist das bei allen Shared Hostern üblich?)
Nein. Vielleicht ist es bei dir nur ein Missgeschick beim Einrichten des Kundenkontos.
Verfasst: 15.11.2009, 17:48
von net(t)worker
mysql kennt keine extra rechte für "CREATE INDEX". CREATE INDEX wird eh nur auf ALTER TABLE gemappt....
https://dev.mysql.com/doc/refman/5.0/en ... -priv.html
https://dev.mysql.com/doc/refman/5.0/en ... index.html
kannst du ALTER TABLE verwenden?
Verfasst: 15.11.2009, 21:27
von catcat
Also ich kann meinen Usern diese MySQL-Rechte geben:
Privileges:
ALL or
SELECT
CREATE
INSERT
ALTER
UPDATE
DROP
DELETE
LOCK TABLES
INDEX
REFERENCES
CREATE TEMPORARY TABLES
Aber warum ich einem nun das Eine odere Andere Recht verweigern sollte, erschließt sich mir auch nicht.
Verfasst: 15.11.2009, 22:09
von Business-Experte
Ja, ALTER TABLE kann ich verwenden (habe probehalber mal den Typ einer Spalte geändert und es hat funktioniert) Wenn ich jedoch einen Index anlegen will, erhalte ich die Fehlermeldung
#1142 - INDEX Befehl nicht erlaubt für Benutzer 'web***'@'localhost' auf Tabelle '***'
Benutzer web*** hat nicht genug Rechte, so sieht es aus - Das habe ich eben in PHPMyAdmin ausprobiert. Das Installationsscript für mediawiki hat heute nachmittag nur ausgegeben "failed to create index" oder ähnlich. Hab jetzt nicht nochmal extra das Installationsscript gestartet...
Muss ich wohl gleich morgen früh den Support anrufen.
Was die sich dabei bloß gedacht haben?

Verfasst: 15.11.2009, 22:47
von t-rex
Hi,
da das wohl eher unlogisch ist tippe ich mal darauf, dass da nur ein Fehler beim anlegen des Users passiert ist. Und Du diesen wohl nicht angelegt hast!?
Somit bleibt nur, dem Support morgen Bescheid zu geben, dass sie die Userrechte anpassen mögen.
Sonnige Grüsse
HaPe
Verfasst: 15.11.2009, 23:15
von profo
Versuch doch mal, was passiert, wenn Du Dir selbst die Rechte einräumst:
Code: Alles auswählen
grant index on datenbankname.* to username@localhost identified by 'password';
Verfasst: 15.11.2009, 23:39
von net(t)worker
profo hat geschrieben:Versuch doch mal, was passiert, wenn Du Dir selbst die Rechte einräumst:
Code: Alles auswählen
grant index on datenbankname.* to username@localhost identified by 'password';
Hmm... dir ist aber schon klar das dieser befehl jetzt nur Sinn macht wenn gleichzeitig der User angelegt wird und das Passwort gesetzt... oder?
Verfasst: 15.11.2009, 23:45
von profo
Wenn ich ihn richtig verstanden habe hat er User und Passwort doch schon? Wenn nicht, soll er aus dem "index" eben ein "all" machen, dann hat er User und Passwort gesetzt und alle Rechte, soweit möglich.
Eigentlich wollte ich aber sowieso nur die Fehlermeldung sehen...
Verfasst: 15.11.2009, 23:48
von net(t)worker
profo hat geschrieben:Wenn ich ihn richtig verstanden habe hat er User und Passwort doch schon?
jo... klar... darum frage ich dich ja ob dir bewusst ist das dein SQL Befehl nur Sinn macht wenn der User noch angelegt werden soll und ein für ihn ein passwort gesetzt werden soll...
mit dem "identified by 'password'" setzt du ein Passwort für den User, aber nur wenn der User vorher noch nicht existierte und dabei neu angelegt wird...
Verfasst: 15.11.2009, 23:54
von Business-Experte
profo hat geschrieben:Wenn ich ihn richtig verstanden habe hat er User und Passwort doch schon? Wenn nicht, soll er aus dem "index" eben ein "all" machen, dann hat er User und Passwort gesetzt und alle Rechte, soweit möglich.
Eigentlich wollte ich aber sowieso nur die Fehlermeldung sehen...
Die Fehlermeldung ist in dem Fall übrigens:
#1044 - Benutzer 'web***'@'localhost' hat keine Zugriffsberechtigung für Datenbank 'usr_web***_*'
Ich leg mich jetzt schlafen.
Verfasst: 15.11.2009, 23:55
von profo
Wenn man sowas zu oft schreibt merkt man gar nicht, wenn es nicht gebraucht wird... Das "identified by..." kann er natürlich weg lassen, da hast Du recht.
@be, klär das wie Du schon meintest am besten mit Deinem Support.
Verfasst: 18.03.2010, 14:42
von renid55
ich habe das gleich problem mit meinem "buisness" packet bei netcup
der support sagt mir dass das mysql recht indexe anzulegen absichtlich deaktiviert wurde um die datenbank vor den sehr belastenden abfragen über index zu "entlasten" und dass ich zum höheren profipacket wechseln muss.
ist M.E. natürlich technischer schwachsinn und mach nur sinn als künstliche schikane und motivationshilfe zum wechsel in teurere packete.
Schade dass die auf solche für mich unseriöse praktiken zurückgreifen müssen - sollten lieber gleich sagen das die billigen packete nur rudimentäres mysql beinhalten - dann hätte ich gleich das grössere genommen und mich nicht so verarscht gefühlt.
jetzt fühle ich mich herausgefordert und bin am überlegen an welcher stelle im installationsscript die indexerstellung steht um sie dort zu entfernen.
oder ist es einfacher mediawiki zu hause installieren, backup machen und dort das index wegeditiere bevor ich es auf netcupserver einspiele ?
Verfasst: 18.03.2010, 14:51
von Nullpointer
mediawiki wird ja auch ohne index laufen und ist open source oder?
einfach in der installationsroutine entsprechendes entfernen. der hoster wird es danken und dich kicken, wenn zuviel last entsteht.
so oder so keine basis für eine weitere zusammenarbeit aus meiner sicht.
Verfasst: 18.03.2010, 15:31
von Mork vom Ork
renid55 hat geschrieben:jetzt fühle ich mich herausgefordert und bin am überlegen an welcher stelle im installationsscript die indexerstellung steht um sie dort zu entfernen.
Suche nach
create table, zusammen mit der Tabelle werden üblicherweise auch die Indizes angelegt.