Schweres Datenbankproblem...

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
blues.on
Regular
Posts: 5
Joined: Wed Oct 17, 2007 6:33 pm

Schweres Datenbankproblem...

Post by blues.on »

Hallo,

ich habe mal gesucht im Inet, aber nichts als Fachwörter mir anhören müssen....

Mein Problem ist folgendes:

Code: Select all

Query failed:

SELECT 
                    

                    e.id,
                    e.title,
                    e.timestamp,
                    e.comments,
                    e.exflag,
                    e.authorid,
                    e.trackbacks,
                    e.isdraft,
                    e.allow_comments,
                    e.last_modified,

                    a.realname AS author,
                    a.username AS loginname,
                    a.email
                     , e.body, e.extended
                     
                FROM
                    serendipity_entries AS e
                    LEFT JOIN serendipity_authors a
                        ON e.authorid = a.authorid
                    LEFT JOIN serendipity_entrycat ec
                        ON e.id = ec.entryid
                    LEFT JOIN serendipity_category c
                        ON ec.categoryid = c.categoryid
                     LEFT JOIN serendipity_authorgroups AS acl_a
                                   ON acl_a.authorid = 0
                            LEFT JOIN serendipity_access AS acl_acc
                                   ON (    acl_acc.artifact_mode = 'read'
                                       AND acl_acc.artifact_type = 'category'
                                       AND acl_acc.artifact_id   = c.categoryid
                                      )
                    WHERE isdraft = 'false' AND e.timestamp <= 1192639200 AND     (
                                 c.categoryid IS NULL
                                 OR ( acl_acc.groupid = 0)
                                 OR ( acl_acc.artifact_id IS NULL
                                      
                                    )
                               )
                     GROUP BY e.id
            ORDER BY timestamp DESC
                      LIMIT 15

/ Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
Die Collations einfach mit konvertieren auf latin1 zu stellen bringt nichts, da alle Tabellen auf latin1 stehen. Woher nun die Tabelle mit UTF-8 kommt, kann ich mir nicht erklären, oder läuft serendipity generell auf UTF-8?

ich habe leider nicht so oft dir Möglichkeit hier in Ghana mich dem Problem anzunehmen. Leider steht eine große Gemeinde hinter meinem Blog und verfolgt mein Freiwilliges Soziales Jahr darüber. Ich habe vorher glücklicherweise ein Backup gemacht. Es war lediglich das Umstellen der auf der Startseite angezeigten Beiträge von 10 auf 3, was mir diesen fetten Fehler beschert hat.

Kann mir jemand helfen?

Der Blog ist schon mit sehr viel gefüllt und es wäre schade, wenn alles neu gemacht werden müsste, was bedeuten würde... Einige Tage im Inetcafe sitzen...

Ich habe mit dem konvertieren nicht so den Erfolg gehabt und das Backup konnte ich nicht einspielen, weil mir der entsprechende Syntax für das Überschreiben beim Importieren fehlt. Beim Import wird mir lediglich gesagt, das diese Datenbank bereits besteht...

Freue mich sehr auf Hilfe!!!

Kai
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Schweres Datenbankproblem...

Post by garvinhicking »

Hi Kai!

Geh mal mit phpMyAdmin auf deine Datenbank und prüfe mal auf welcher Kollation folgende Datenbankfelder stehen:

serendipity_access.artifact_mode
serendipity_access.artifact_type

Hast Du in Serendipity den Zeichensatz auf "UTF-8" oder "Native" gestellt? Wenn Du UTF-8 dort nutzt, sollten die Datenbankfeldcollations ebenfalls auf UTF-8 stehen. Du kannst alternativ mal mit dem s9y konfigurationsparameter "DBNames-Befehl nutzen" spielen, ob das hilft.

Scheinbar hast Du beim umstellen der Anzahl auch an der s9y Datenbankkonfiguration wohl etwas geändert, also z.B. diese DBNames- oder Zeichensatz umgestellt.

Die Daten sind noch vorhanden, keine Panik.

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
blues.on
Regular
Posts: 5
Joined: Wed Oct 17, 2007 6:33 pm

Post by blues.on »

Danke für die Antwort....

Die beiden Datenbankfelder

serendipity_access.artifact_mode
serendipity_access.artifact_type

haben die Kollation latin1_swedish_ci...

ich habe Serendipity ganz normal installiert und dabei keine Kollation festgelegt. Das war auch meine Frage, in welcher Kollation S9y installiert.

Ich habe mal bei den andern Blogs, die ich betreue und auch installiert habe geschaut und diese haben die Kollation latin1_swedish_ci wie bei mir auch in den Tabellen...

Im Startbereich wird mir aber als Datenbankkollation UTF-8 angezeigt, wie bei den funktionierenden Blogs auch

Code: Select all

MySQL-Zeichensatz:  UTF-8 Unicode (utf8)
Entgegen der Tabellenkollation latin1_swedish_ci

Ich find den Fehler nicht. Habe die beiden Tabellen mal in UTF-8 laufen lassen, aber es geht nicht. Selbst wenn ich im Startbereich die Kollation auf latin1_swedish_ci stelle, klappt es nicht...

Ich denk es liegt an den verschiedenen Kollationen hier

collation_connection utf8_general_ci
collation_database latin1_swedish_ci
collation_server latin1_swedish_ci

[EDIT]
Hab bei den anderen Blogs mal geschaut und diegleiche Ausgabe bekommen, sprich collation_connection ist auch uft8_general_ci

Bloß, wie kann ich die collatio_connection auf latin stellen?

Hier die Screens von meiner Config:

Image

Image

Image

Was kann ich noch machen?

Danke
Kai
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Hast du in der s9y konfiguration dieoption "DB Names Befehl benutzen" aktiviert?

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
blues.on
Regular
Posts: 5
Joined: Wed Oct 17, 2007 6:33 pm

Post by blues.on »

garvinhicking wrote:Hi!

Hast du in der s9y konfiguration die option "DB Names Befehl benutzen" aktiviert?

Grüße,
Garvin
nicht das ich wüsste. habe nichts dergleichen verändert...

Hier der screen von einem anderen blog, welcher diegleichen default-settings haben müsste wie meiner, da ich sie lediglich installiert habe.

Image

dort it diese funktion aktiviert und ich sehe auch, das wenn komische Zeichen auftreten, ein deaktivieren helfen kann. Ich kann in die config aber nicht direkt rein...

Wenn ich den Wert von diesem Schlüssel in der Tabelle serendipity_config den Wert von "true" auf "false" änder, tut sich nichts. Oder ist dieser Schlüssel nicht für diese DB-Names-Funktion zuständig?

So steht der Wert in der Tabelle serendipity_config:

Code: Select all

dbNames  	true  	0
Hier die Einstellung in der Datenbank:
Image

Habe ich den richtigen Wert verändert?

Weiterhoin habe ich bei den anderen Blog mal geschaut, welcher Zeichensatz verwendet wird. Dieser ist bei den Blogs UTF-8...

Siehe hier:
Image

Jedoch sind die Tabellen von S9y bei diesen funktionierenden Blogs alle in latin1-Kollation

Woran kann es denn noch liegen....

Danke
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!
nicht das ich wüsste. habe nichts dergleichen verändert...
Dann schalte es mal ein, wenn's aus ist, oder aus, wenn's derzeit ein ist bei Dir. Das könnte evtl. abhilfe schaffen. ("Datenbank-Zeichensatzkonvertierung")...?
Ich kann in die config aber nicht direkt rein...
Was meinst Du damit?
Wenn ich den Wert von diesem Schlüssel in der Tabelle serendipity_config den Wert von "true" auf "false" änder, tut sich nichts. Oder ist dieser Schlüssel nicht für diese DB-Names-Funktion zuständig?
Nein, das wird über die serendiptiy_config_local.inc.php geregelt. Stell's doch einfach über die normale s9y Konfigurationsoberfläche ein?

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
blues.on
Regular
Posts: 5
Joined: Wed Oct 17, 2007 6:33 pm

Post by blues.on »

garvinhicking wrote: Nein, das wird über die serendiptiy_config_local.inc.php geregelt. Stell's doch einfach über die normale s9y Konfigurationsoberfläche ein?
Ich komme mit meinem Namen sowie dem passenden Passwort nicht in die S9y-Verwaltungsoberfläche.

Ändern von PW's in der Datenbank bringt auch nichts, da es ja verschlüsselt angegeben wird. Kann ich den Wert wie ich geschrieben habe nicht direkt in der Datenbank ändern? Ich hatte es ja probiert wie geschrieben und es ging nicht. Aber das nun nicht einmal der Login geht ist schon seltsam... Zumal die beiden Benutzer, die ich eingerichtet habe, ja in der Datenbank vorkommen.

Ich hoffe mal nicht das die serendiptiy_config.inc.php schrott ist.

Kai
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!
Ändern von PW's in der Datenbank bringt auch nichts, da es ja verschlüsselt angegeben wird.
Setz mal ein neues passwort in der serendipity_authors Datenbanktabelle. Das passwort wird dort mittels "MD5()" (kann man in phpmyadmin auswählen) verschlüsselt.
Kann ich den Wert wie ich geschrieben habe nicht direkt in der Datenbank ändern?
Neine, siehe oben: dbNames wird niht aus der DB gelesen sondern aus sserendipity_config_local.inc.php.

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
blues.on
Regular
Posts: 5
Joined: Wed Oct 17, 2007 6:33 pm

Post by blues.on »

garvinhicking wrote:Hi!
Ändern von PW's in der Datenbank bringt auch nichts, da es ja verschlüsselt angegeben wird.
Setz mal ein neues passwort in der serendipity_authors Datenbanktabelle. Das passwort wird dort mittels "MD5()" (kann man in phpmyadmin auswählen) verschlüsselt.
Ich habe ein neues PW gesetzt, aber es bringt nichts...

sonst suche ich die 'DBnames' funktion in der config.inc.php

bin grad online in der stadt. kannst mich unter icq 244056133 erreichen...

Ich hab ja wie gesagt n Backup von der noch heilen Datenbank...

Wie kann ich das einspielen, ohne das ich eine Meldung von myphpadmin bekomme, das die Datenbank schon existiert... Ich würde das gern einspielen und sagen, das er das überschreibt, aber den Syntax kenn ich nicht.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Bion jetzt das WE über weg. Du musst den Befehl in der serendipity_config_local eintragne,nicht in der serendipity_config.

Das mit dem PW muss eigentlich klappen. DB Dump hochzuspielen ist woh das beste. Ob daten überchrieben werden oder nicht muss man bereits im Dump angeben, das kann man nicht beim hochladen bestimmen.Musst da überall "DROP TABLE ..." einfügen für jede Tabelle, oder die tabellen halt vorher manuell löschen.Aber sicherstellen dass du ein backup hast.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply