MySQL - Schema / Username mit _ ?

Alles zum PostgreSQL-Server

Moderator: Moderatoren

MySQL - Schema / Username mit _ ?

Beitragvon brandelh » Sa, 20. Apr 2013 15:03

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) 1976-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
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13483
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: MySQL - Schema / Username mit _ ?

Beitragvon georg » So, 21. Apr 2013 11:06

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/user-variables.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
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1847
Registriert: Fr, 08. Feb 2008 22:29

Re: MySQL - Schema / Username mit _ ?

Beitragvon brandelh » So, 21. Apr 2013 18:09

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
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13483
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: MySQL - Schema / Username mit _ ?

Beitragvon georg » So, 21. Apr 2013 18:25

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
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1847
Registriert: Fr, 08. Feb 2008 22:29

Re: MySQL - Schema / Username mit _ ?

Beitragvon brandelh » So, 21. Apr 2013 18:32

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
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13483
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: MySQL - Schema / Username mit _ ?

Beitragvon georg » So, 21. Apr 2013 20:31

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
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1847
Registriert: Fr, 08. Feb 2008 22:29


Zurück zu SQL-Server

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast