MySQL - Schema / Username mit _ ?
Moderator: Moderatoren
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
MySQL - Schema / Username mit _ ?
Hallo,
ich hatte auf meinem alten Server MySQL ein Schema HB_EDV_INFO eingerichtet.
Es gab auch einen normalen User für meine CGI Programme: HB_EDV_INFO ... also das Gleiche.
Nun habe ich den neuesten MySQL Server (5.6) installiert und versuche die DB wieder so einzurichten.
Schema hatte ich zuerst mit Restore vom SQL Backup zurückgeholt (Tabellen, Struktur, Daten).
Dann den User HB_EDV_INFO angelegt und wollte diesem normale Rechte über die Workbench auf HB_EDV_INFO zuweisen.
Hierbei wird das Schema mit Escape-Zeichen dargestellt und es erscheint ein Syntaxfehler im automatisch erzeugten Script.
Als das nicht half, habe ich das Schema neu erstellt, und versucht dem User die Rechte zuzuordnen, gleiches Resultat.
Ist es nun verboten, dass man USER und SCHEMA gleich benennt ?
Oder sind nur die '_' mittlerweile nicht mehr erlaubt ... oder ist es schlicht ein Fehler der Workbench ?
Eigentlich wollte ich lokal keinen pHpAdmin installieren ...
ich hatte auf meinem alten Server MySQL ein Schema HB_EDV_INFO eingerichtet.
Es gab auch einen normalen User für meine CGI Programme: HB_EDV_INFO ... also das Gleiche.
Nun habe ich den neuesten MySQL Server (5.6) installiert und versuche die DB wieder so einzurichten.
Schema hatte ich zuerst mit Restore vom SQL Backup zurückgeholt (Tabellen, Struktur, Daten).
Dann den User HB_EDV_INFO angelegt und wollte diesem normale Rechte über die Workbench auf HB_EDV_INFO zuweisen.
Hierbei wird das Schema mit Escape-Zeichen dargestellt und es erscheint ein Syntaxfehler im automatisch erzeugten Script.
Als das nicht half, habe ich das Schema neu erstellt, und versucht dem User die Rechte zuzuordnen, gleiches Resultat.
Ist es nun verboten, dass man USER und SCHEMA gleich benennt ?
Oder sind nur die '_' mittlerweile nicht mehr erlaubt ... oder ist es schlicht ein Fehler der Workbench ?
Eigentlich wollte ich lokal keinen pHpAdmin installieren ...
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2829
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 97 Mal
- Danksagung erhalten: 13 Mal
Re: MySQL - Schema / Username mit _ ?
Hallo, Hubert -
also, das funktioniert bei mir:
Die eingesetzt MySQL-Version: Server version: 5.5.25 MySQL Community Server (GPL)
Unter MySQL kann man auch reservierte Begriffe als Namen verwenden, muss sie aber in Anführungsstriche setzen.
Auch sollte der Unterstrich kein Problem darstellen, Zitat:
Ich würde also stark vermuten, dass das Problem mindestens an den Escape-Zeichen liegt. Es wäre nicht verkehrt, wenn Du mal den ganzen Befehlssatz (create, grant) posten würdest, wie Du ihn ins System eingibst.
also, das funktioniert bei mir:
Code: Alles auswählen
mysql> grant all privileges on HB_EDV_INFO.* to 'HB_EDV_INFO'@'localhost' identified by 'test';
Query OK, 0 rows affected (0.00 sec)
Unter MySQL kann man auch reservierte Begriffe als Namen verwenden, muss sie aber in Anführungsstriche setzen.
Auch sollte der Unterstrich kein Problem darstellen, Zitat:
Hier zu finden: http://dev.mysql.com/doc/refman/5.6/en/ ... ables.htmlUser variables are written as @var_name, where the variable name var_name consists of alphanumeric characters, “.”, “_”, and “$”.
Ich würde also stark vermuten, dass das Problem mindestens an den Escape-Zeichen liegt. Es wäre nicht verkehrt, wenn Du mal den ganzen Befehlssatz (create, grant) posten würdest, wie Du ihn ins System eingibst.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: MySQL - Schema / Username mit _ ?
Hi,
ich gebe ihn gar nicht ein (ich bin ja kein SQL Experte), sondern nutze die Workbench.
In den alten Versionen (irgendwas mit Query) konnte man auch zusätzlich den Code selbst eingeben und ich meine es gibt auch eine Console.
Aber wie du sicher bemerkt hast, NUTZE ich nur Schmalspur
ich gebe ihn gar nicht ein (ich bin ja kein SQL Experte), sondern nutze die Workbench.
In den alten Versionen (irgendwas mit Query) konnte man auch zusätzlich den Code selbst eingeben und ich meine es gibt auch eine Console.
Aber wie du sicher bemerkt hast, NUTZE ich nur Schmalspur
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2829
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 97 Mal
- Danksagung erhalten: 13 Mal
Re: MySQL - Schema / Username mit _ ?
Hallo, Hubert -
wenn Du eine vollständige MySQL-Installation hast:
Dann wirst Du nach dem root-Passwort gefragt. Anschliessend bist Du in der Konsole und kannst dort mal die Befehle versuchen.
Wie gesagt, aus meiner Sicht sind die Escapes falsch. Auch eine Workbench kann mal eine programmlogische Unschärfe oder eine programmtechnische Ungenauigkeit haben ...
wenn Du eine vollständige MySQL-Installation hast:
Code: Alles auswählen
Befehlseingabe (cmd.exe) öffnen
mysql -u root -p
Wie gesagt, aus meiner Sicht sind die Escapes falsch. Auch eine Workbench kann mal eine programmlogische Unschärfe oder eine programmtechnische Ungenauigkeit haben ...
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: MySQL - Schema / Username mit _ ?
Schön dass es im Menü von MySQL die Commando Zeile
die Antwort verwirrt mich aber etwas ...
Query OK, 0 rows affected (0.00 sec)
hat er nun oder hat er nicht ... er hat.
Code: Alles auswählen
Enter password: ***************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.11-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> grant all privileges on hb_edv_info.* to 'HB_EDV_INFO'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql>
Query OK, 0 rows affected (0.00 sec)
hat er nun oder hat er nicht ... er hat.
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2829
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 97 Mal
- Danksagung erhalten: 13 Mal
Re: MySQL - Schema / Username mit _ ?
Hallo, Hubert -
MySQL behandelt jeden Befehl wie ein SELECT. Und bei einem SELECT wird eine Antwort erwartet, allerdings liefert der GRANT keine, also 0 rows affected.
Und siehe, es geht doch.
MySQL behandelt jeden Befehl wie ein SELECT. Und bei einem SELECT wird eine Antwort erwartet, allerdings liefert der GRANT keine, also 0 rows affected.
Und siehe, es geht doch.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.