SET locale de_DE funktioniert bei mir nicht

Sonic_cgn

mit wenig Erfahrung
Hallo,

ich hatte auf meinem "alten" Server 14.04 es mal geschafft in mySQL die Locales auf de_DE zu stellen. So das "SELECT dayname blablabla mir ein Deutschen Wochentag geliefert hat.

Jetzt für meinen "neuen" 14.04.03:
Für PHP habe ich es wieder hin bekommen, aber für mySQL kann ich folgendes eingeben
Code:
SET lc_time_names = 'de_DE';
der Befehl wird anstandslos ausgeführt. Aber ein prüfen via "SELECT @@lc_time_names" bringt mir wieder ein "en_US".

Meine locale sieht so aus:
Code:
/var# locale
LANG=de_DE.utf8
LANGUAGE=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_MESSAGES="de_DE.utf8"
LC_PAPER="de_DE.utf8"
LC_NAME="de_DE.utf8"
LC_ADDRESS="de_DE.utf8"
LC_TELEPHONE="de_DE.utf8"
LC_MEASUREMENT="de_DE.utf8"
LC_IDENTIFICATION="de_DE.utf8"
LC_ALL=de_DE.utf8
root@atari800xl:/var#  locale-gen de_DE.UTF-8
Generating locales...
  de_DE.UTF-8... done
Generation complete.

Leider finde ich im Netzt immer nur die gleiche Aussage. Wie kann ich denn prüfen ob es mySQL überhaupt möglich ist auf de_DE zuzugreifen? Oder ist das mit den "locale" schon passiert?
 
root@server0181 ~ # echo "SELECT @@lc_time_names; SET lc_time_names = 'de_DE'; SELECT @@lc_time_names; SELECT MONTHNAME(NOW()),' ',DAYNAME(NOW())" | mysql -uadmin -podUmd8282r5xdg mysql
@@lc_time_names
en_US
@@lc_time_names
de_DE
MONTHNAME(NOW()) DAYNAME(NOW())
August Samstag


Funktioniert.

Willst du dauerhaft und global die locale auf de_DE setzen? Oder wo?
Das geht nur wenn du für den jeweiligen Nutzer das Privileg SUPER erteilt hast.
Du kannst Variablen nur für die laufende Session setzen oder global.
https://dev.mysql.com/doc/refman/5.6/en/set-statement.html
 
Last edited by a moderator:
Du kannst die Variable ja global in deiner globalen my.cnf im Abschnitt mysqld setzen.
Achtung: Unterstriche in SQL-Variablennamen werden zu Bindestrichen in der Konfiguration.

Code:
[mysqld]

lc-time-names=de_DE
 
Code:
[mysqld]

lc-time-names=de_DE

Da hatte ich jetzt wirklich Stunden nach gesucht. Endlich klappt das wieder. Das muss ich mir jetzt direkt mal aufschreiben damit ich das näxte mal nicht wieder wie Stulle vor dem gleichen Problem stehe.

thx
 
Back
Top