MySQL - Schema / Username mit _ ?

alles zu mySql/mariadb

Moderator: Moderatoren

Antworten
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

MySQL - Schema / Username mit _ ?

Beitrag von brandelh »

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.
MySQL-Error.png
MySQL-Error.png (17.76 KiB) 9521 mal betrachtet
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
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MySQL - Schema / Username mit _ ?

Beitrag von georg »

Hallo, Hubert -


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)
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:
User variables are written as @var_name, where the variable name var_name consists of alphanumeric characters, “.”, “_”, and “$”.
Hier zu finden: http://dev.mysql.com/doc/refman/5.6/en/ ... ables.html

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.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MySQL - Schema / Username mit _ ?

Beitrag von brandelh »

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 ;-)
Gruß
Hubert
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MySQL - Schema / Username mit _ ?

Beitrag von georg »

Hallo, Hubert -


wenn Du eine vollständige MySQL-Installation hast:

Code: Alles auswählen

Befehlseingabe (cmd.exe) öffnen
mysql -u root -p
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 ...
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MySQL - Schema / Username mit _ ?

Beitrag von brandelh »

Schön dass es im Menü von MySQL die Commando Zeile :-)

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>
die Antwort verwirrt mich aber etwas ...
Query OK, 0 rows affected (0.00 sec)
hat er nun oder hat er nicht ... er hat.
Gruß
Hubert
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MySQL - Schema / Username mit _ ?

Beitrag von georg »

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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Antworten