Hallo.
Vor dem Update auf 4.3.1 (von 4.2.6) hab ich mal compare ausgeführt, er zeigt mir folgendes an:
Update database tables and fields:
Table and field definitions should be updated
There seems to be a number of differencies between the database and the selected SQL-file. Please select which statements you want to execute in order to update your database:
Changing fields
ALTER TABLE cache_hash ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_imagesizes ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE sys_log ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_pages ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_pagesection ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_typo3temp_log ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_md5params ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE fe_session_data ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE fe_sessions ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_phash ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_fulltext ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_rel ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_words ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_section ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_grlist ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_stat_search ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_stat_word ENGINE=InnoDB;
Current value: ENGINE=MyISAM
Die Häckchen sind überall davor, wenn ich dann auf write to database klicke kommt das gleiche wieder. Weiss auch nicht was eigentlich MyISAM und InnoDB bedeutet.
Hintergrund: Das Frontend läuft wenn man updateted nur im Backend lässt sich nix anklicken
Weiss auch nicht was eigentlich MyISAM und InnoDB bedeutet
Wichtig ist, dass InnoDB so richtig erst ab MySQL Version 5.0 läuft.
Wenn Du auf Fehlersuche gehn willst (wegen des Nichtspeicherns im Backend),
schalte über das Install-Tool "SQL-Debug" ein - dann siehst Du auch eventuelle Fehlermeldungen...
Hi,
also ich habe das gleiche Problem & deine Rat beherzigt, aber es kommt zu keiner Fehlermeldung!
*edit*
2: SQL error: 'Unknown column 'tx_powermail_confirm' in 'field list'' (tt_content:NEW4b5a00dd7e034)
Tja, man merkt es doch, wenn was nicht klappt 🙂
Gruß,
fahn
Ich hab die Lösung! Dem User den du Typo3 zur mysqlnutzung mitgeteilt hast, hat nicht genug Rechte! Also daran lag es bei mir!
Gruß
Nochmal ich.
Bin jetzt über das Mysql-Programm direkt in die Datenbank. Dort gibts ein Feld mit der Überschrift "Engine". Hier kann ich durch Auswahlfunktion "InnoDB" einstellen. Er sagt mir dann Tabelle geändert, steht aber im Auswahlfenster wieder "MyISAM"
Geh ich wieder ins BE, hat sich unter Compare auch nix geändert.
bei mir kommt dieser Fehler
Changing fields
select/deselect all
ALTER TABLE sys_refindex CHANGE tablename tablename text;
Current value: varchar(80) default ''
ALTER TABLE sys_refindex CHANGE ref_table ref_table text;
Current value: varchar(80) default ''
ALTER TABLE tx_realurl_uniqalias CHANGE field_alias field_alias text;
Current value: varchar(60) default ''
Add tables
select/deselect all
CREATE TABLE cachingframework_cache_hash_tags (
id int(11) unsigned NOT NULL auto_increment,
identifier text NOT NULL,
tag text NOT NULL,
PRIMARY KEY (id),
KEY cache_id (identifier),
KEY cache_tag (tag(256))
) ENGINE=InnoDB;
CREATE TABLE sys_registry (
uid int(11) unsigned NOT NULL auto_increment,
entry_namespace text NOT NULL,
entry_key text NOT NULL,
entry_value blob,
PRIMARY KEY (uid),
UNIQUE entry_identifier (entry_namespace,entry_key(256))
);
CREATE TABLE cachingframework_cache_pages_tags (
id int(11) unsigned NOT NULL auto_increment,
identifier text NOT NULL,
tag text NOT NULL,
PRIMARY KEY (id),
KEY cache_id (identifier),
KEY cache_tag (tag(256))
) ENGINE=InnoDB;
CREATE TABLE cachingframework_cache_pagesection_tags (
id int(11) unsigned NOT NULL auto_increment,
identifier text NOT NULL,
tag text NOT NULL,
PRIMARY KEY (id),
KEY cache_id (identifier),
KEY cache_tag (tag(256))
) ENGINE=InnoDB;
was muss ich machen damit der compare gar durchläuft?
Hallo Terminator,
bei so einem Problem lade ich das SQL-Statement ins SQL-Eingabefeld unter PhpMyAdmin.
Wenn´s nicht durchläuft gibt´s eine aussagekräftige Fehlermeldung und Du weißt, wo´s klemmt.
Gruss
d.h. einfach die befehle, die normal der compare machen würde im phpmyadmin ausführen?
Hi
ich bin auf diesen beitrag gestoßen, da ich das selbe problem mit einem update hatte...leider hier (ausnahmsweise) nix gefunden.
Aber dann hab ich mir mal den bugtracker report von typo3 zu diesem fehler durchgelesen, UND:
Ich hab herausgefunden, dass es an [multiplyDBfieldSize] = 2 in der localconf.php (im Installtool - All configuration) liegen kann (war bei mir so)
Falls die DB auf utf-8 ist ist es auch gar nicht nötig es auf zwei zu setzen. "This is only useful e.g. if your database is iso-8859-1 encoded but you want to use utf-8 for your site."
Also auf 1 und der DB-Analyser läuf durch (kann bei bedarf danach wieder auf 2 gesetzt werden).
Hoffe das hilft.
VG Mario
hast recht
wenn der multiplyDBfieldSize nicht gesetzt ist geht es
wo sehe ich auf was meine DB läuft?
im phpmyadmin steht:
Typ InnoDB
Kollation latin1_swedish_ci
muss ich dann auf 1 oder 2 machen?
nunja ich bin nicht der absolute mysql profi, aber soweit ich weis, laufen alle latin1... Kollationen (Sortiervorschriften) auf ISO-8859-1
im phpMyAdmin oben die datenbank auswählen, dann müsste in den 3 boxen auf der rechten seite in der oberen (Überschrift: MYSQL) als letzter punkt stehen
MySQL-Zeichensatz: UTF-8 Unicode (utf8-) (bzw dein Zeichensatz)
solange da utf-8 steht ist 1 ok.
falls nicht und dir keiner weiter helfen kann ... multiplyDBFieldsize auf 2 und wenns keine probleme gibt - so lassen.
Das multiplyDBFieldsize sorgt ja nur dafür, dass die tabellenfelder mehr zeichen fassen können, jedoch dürfen die keys eine bestimmte zeichenlänge nicht überschreiten - deshalb werden sie ungültig -
#1170 - BLOB/TEXT column 'identifier' used in key specification without a key length - soweit ich das verstanden habe.
Das hier könnte dir weiter helfen:http://www.exanto.de/typo3-und-utf-8.html
da steht:
MySQL-Zeichensatz: (utf8-)
Zeichensatz / Kollation der MySQL-Verbindung: utf8_gernela_ci
also kann ich auf 1 machen und lassen?
wie gesagt, bin kein profi aber utf-8 ist utf-8, also wenn du nix ausgefallenes vor hast - 1
warum da jetzt vor der klammer bei dir nix steht - keine ahnung aber google weis es sicher...
Bei Compare kommt wiegesagt die Meldung (Siehe 1.Post)
Bei Compare with $TCA kommt : Table and field definitions OK
Kann ich das nun so lassen ? bei sql debug kommt auch keine Fehlermeldung und es läuft ja alles im Frontend
Muss das nun InnoDB sein oder tuts auch MyISAM ??
Also das Problem lag am Provider, der lässt die Änderung nicht zu, es sei denn ich update auf ein grösseres webpack.
werde das als gelöst abhaken.
Upps wieso kann ich das nicht als gelöst abhaken?
Paul