collation_connection mysql ändern

2006-06-12 Diskussionsfäden Holm Kapschitzki

Hallo,

ich möchte gerne die collation_connection bei mysql von 
latin1_swedish_ci auf latin1_german1_ci ändern. Jedoch schlagen alle 
Versuche in der my.cnf fehl.


Der Server startet dann gar nicht, und ich bekomme im besten Fall, wenn 
er nicht als solches die Variable anmeckert, folgende Fehlermeldung:


Character set 'latin1_german1_ci' is not a compiled character set and 
is not specified in the '/usr/share/mysql/charsets/Index.xml' file


Hätte denn eventuell jemand ne Idee was man besser machen könnte, oder 
was ich falsch mache, bzw. wie man die collation_connection permanent 
auf latin1_german1_ci setzten kann.


Gruß Holm


--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/


Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: collation_connection mysql ändern

2006-06-12 Diskussionsfäden Holm Kapschitzki

Andreas Pakulat schrieb:


Wie sieht denn deine Config aus? Welche Fehlermeldungen siehst du in den
Logfiles?
  
Also nachdem ich habe die Standard Debian .cnf nachdem ich mal eine utf8 
config aus einem gewissen Forum probiert habe, aber da kommt mein 
Cyrus-Imap mit der MySQL Authntifizierungstabelle nicht mit klar, 
wahrscheinlich weil die noch im anderen Zeichensatz ist ioder so (k.a. 
- anderes Thema)


[client]
port= 3306
socket= /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket= /var/run/mysqld/mysqld.sock
nice= 0

[mysqld]
user= mysql
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
port= 3306
basedir= /usr
datadir= /var/lib/mysql
tmpdir= /tmp
language= /usr/share/mysql/english
skip-external-locking
character-set-server=latin1
collation-server=latin1_german1_ci
old_passwords= 1
bind-address= 127.0.0.1
key_buffer= 16M
max_allowed_packet= 16M
thread_stack= 128K
query_cache_limit= 1048576
query_cache_size= 16777216
query_cache_type= 1
log= /var/log/mysql.log
log-slow-queries= /var/log/mysql/mysql-slow.log
log-bin= /var/log/mysql/mysql-bin.log
max_binlog_size = 104857600
skip-bdb

[mysqldump]
quick
quote-names
max_allowed_packet= 16M

[mysql]

[isamchk]
key_buffer= 16M


Die Logs sagen eigentlich nichts kein error. ausser die Meldungen auf 
der Konsole im vorherigen Thread. mysql.err wird bei mir gar nicht 
geloggt, sollte ich eigentlich mal aktivieren.


syslog:

Jun 12 13:55:57 srv1 /etc/init.d/mysql[4317]: 
/etc/mysql/debian-log-rotate.conf is obsolete, see 
/usr/share/doc/mysql-server-5.0/NEWS.Debian.gz
Jun 12 13:55:57 srv1 /etc/mysql/debian-start[4328]: Checking for crashed 
MySQL tables.


und im mysql.log der wird bei mir dermasseb zugemüllt, mal ehrlich ich 
kann da nicht sinvvolles suchen und entdecken.


  
Character set 'latin1_german1_ci' is not a compiled character set and is not 
specified in the '/usr/share/mysql/charsets/Index.xml' file



Was sagt show collation like latin1% bei dir? (im mysql client
ausgefuehrt)
  


mysql show collation like latin1%;
+---+-++-+--+-+
| Collation | Charset | Id | Default | Compiled | Sortlen |
+---+-++-+--+-+
| latin1_german1_ci | latin1  |  5 | | Yes  |   1 |
| latin1_swedish_ci | latin1  |  8 | Yes | Yes  |   1 |
| latin1_danish_ci  | latin1  | 15 | | Yes  |   1 |
| latin1_german2_ci | latin1  | 31 | | Yes  |   2 |
| latin1_bin| latin1  | 47 | | Yes  |   1 |
| latin1_general_ci | latin1  | 48 | | Yes  |   1 |
| latin1_general_cs | latin1  | 49 | | Yes  |   1 |
| latin1_spanish_ci | latin1  | 94 | | Yes  |   1 |
+---+-++-+--+-+
8 rows in set (0.00 sec)


Gruß Holm


--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/


Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: collation_connection mysql ändern

2006-06-12 Diskussionsfäden Holm Kapschitzki

Andreas Pakulat schrieb:



Also nachdem ich habe die Standard Debian .cnf nachdem ich mal eine utf8 config 
aus einem gewissen Forum probiert habe,



1. Ich kriege in den Satz irgendwie keinen Sinn rein ;-)

2. Ich hoffe du hast nicht die Debian.cnf ueberschrieben, sondern
Debians my.cnf?
  


ich sollte vielleicht genauer schreiben Also ich habe mal eine 
anscheinend optimierte my.cnf probiert, danach lief gar nichts mehr mit 
meinem Cyrus-Imap der sich über mysql authentifiziert (andauernd login 
Probleme)


Das ist sie:

[client]
port= 3306
socket= /var/run/mysqld/mysqld.sock
character_set = utf8
default-character-set = utf8

[mysqld_safe]
socket= /var/run/mysqld/mysqld.sock
nice= 0

[mysqld]
user= mysql
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
port= 3306
basedir= /usr
datadir= /var/lib/mysql
tmpdir= /tmp
language= /usr/share/mysql/english
skip-external-locking
character-set-server  = utf8
default-character-set = utf8
old_passwords= 1
bind-address= 127.0.0.1
key_buffer= 16M
max_allowed_packet= 16M
thread_stack= 128K
query_cache_limit= 1048576
query_cache_size= 16777216
query_cache_type= 1
log= /var/log/mysql.log
log-slow-queries= /var/log/mysql/mysql-slow.log
log-bin= /var/log/mysql/mysql-bin.log
max_binlog_size = 104857600
skip-bdb

[mysql]
character-sets-dir= utf8
default-character-set = utf8

[mysqldump]
quick
quote-names
max_allowed_packet= 16M
character-sets-dir= utf8
default-character-set = utf8

[isamchk]
key_buffer= 16M
character-sets-dir= utf8

[mysqladmin]
character-sets-dir= utf8
default-character-set = utf8

[mysqlcheck]
character-sets-dir= utf8
default-character-set = utf8

[mysqlimport]
character-sets-dir= utf8
default-character-set = utf8

[mysqlshow]
character-sets-dir= utf8
default-character-set = utf8

[myisamchk]
character-sets-dir= utf8

[myisampack]
character-sets-dir= utf8


  

character-set-server=latin1
collation-server=latin1_german1_ci



Hmm, das obige ist bei mir utf8, das untere fehlt. Der Rest der Config
ist original soweit ich das sehe. 


Und wenn du da jetzt dein collation-connection=latin1_german1_ci drunter
schreibst passiert was? Oder wo hast du das eingetragen? Koenntest auch
collation_connection mal unter [client] eintragen...
  


ok, unter client eingetragen, dann startet zwar der mysql-server aber 
wenn ich mich einlogge über konsole kommt das:


mysql -p
mysql: unknown variable 'collation-connection=latin1_german1_ci'


Gruß Holm


--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/


Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: collation_connection mysql ändern

2006-06-12 Diskussionsfäden Jim Knuth
Heute (12.06.2006/15:24 Uhr) schrieb Holm Kapschitzki,

 ich sollte vielleicht genauer schreiben

 Gruß Holm


besser da [EMAIL PROTECTED] fragen


-- 
Viele Gruesse, Kind regards,
 Jim Knuth
 [EMAIL PROTECTED]
 ICQ #277289867
--
Zufalls-Zitat
--
Das Fernsehen hat feste Regeln. Bei den Western gewinnen 
immer die Guten, bei den Nachrichten immer die Bösen. 
(Robert Lembke, dtsch. Quizmaster, 1913-1989)
--
Der Text hat nichts mit dem Empfaenger der Mail zu tun
--
Virus free. Checked by NOD32 Version 1.1593 Build 7453  12.06.2006



Re: collation_connection mysql ändern

2006-06-12 Diskussionsfäden Holm Kapschitzki

Andreas Pakulat schrieb:



Naja, da muesste man wissen ob Cyrus die angegebenen login-Daten passend
fuer mysql konvertiert. Wenn der naemlich nen latin1-Bytestrom reingibt
und die mysql-lib annimt das ist utf8, kommt da nur Muell bei raus,
sobald du nicht-Ascii Zeichen drin hast.
  


ich werde das mal auschecken

  

[client]
port= 3306
socket= /var/run/mysqld/mysqld.sock
character_set = utf8
default-character-set = utf8



Da solltest du das Characterset reintun das auch der Cyrus benutzt, also
vmtl. latin1.
  


ok

  

character-set-server  = utf8
default-character-set = utf8



Das sollte erstmal kein Problem darstellen, dadurch werden neue
Datenbanken automatisch mit utf-8 Kodierung fuer Text-Attribute
angelegt. Bestehende Datenbanken haben bereits ein Charset.
  


im endeffekt möchte ichja alles bei utf-8 haben, habe aber so das Gefühl 
das man ein Produktivsystem nicht so ohne weiteres auf utf-8 umstellen 
sollte. Wenn man von vorne Anfängt ist utf-8 schon einfacher.


  

[mysqldump]
quick
quote-names
max_allowed_packet= 16M
character-sets-dir= utf8
default-character-set = utf8



Das ist u.U. sinnvoll wenn man DB's mit mehreren verschiedenen 8Bit
Kodierungen hat, so kann man eine ganze Datenbank in eine Datei dumpen.
  


ok

  

character-set-server=latin1
collation-server=latin1_german1_ci
   


Hmm, das obige ist bei mir utf8, das untere fehlt. Der Rest der Config
ist original soweit ich das sehe. 
Und wenn du da jetzt dein collation-connection=latin1_german1_ci drunter

schreibst passiert was? Oder wo hast du das eingetragen? Koenntest auch
collation_connection mal unter [client] eintragen...
 
  
ok, unter client eingetragen, dann startet zwar der mysql-server aber wenn ich 
mich einlogge über konsole kommt das:


mysql -p
mysql: unknown variable 'collation-connection=latin1_german1_ci'



Da bin ich jetzt langsam auch ueberfragt. Schuss ins Blaue: Mal mit _
statt - probieren. Und wenn du das unter [mysql] eintraegst kriegst du
keine solche Meldung? Und Textvergleiche werden auch nicht nach der DIN
1 Norm gemacht? (also sowas wie select *  from foobar order by
textspalte)
  


egal wie und wo ich s eintrage, immer das gleiche : unknown variable

Ich werde mal die ganzen Sachen mir nochmal genauer ansehen.

Andreas, danke für Deine ausführlichen Erklärungen und das nicht nur in 
diesem Thread ... :)


Gruß Holm



--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/


Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)