[MySQL] MyISAM -> NDB
SorgenkindMech
- datenbank
0 dedlfix
huhu liebes forum! (und natürlich auch hallo an alle nutzer ;) )
ich bin gerade dabei eine vorhandene mysql-db in einen mysql-cluster zu migrieren
bisher lief eigendlich auch alles ganz gut, ich ändere tabelle für tabelle die engine
nun stoße ich aber auf eine tabelle, die strikt etwas dagegen haben zu scheint
vorab: ich weiß die tabelle hat keinen primärschlüssel, der kommt noch, aber grundlegend erstmal:
hier mal die tabelle um die es geht:
CREATE TABLE einstellungen
(
timestamp
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
id
int(11) NOT NULL DEFAULT '1',
profilname
varchar(20) NOT NULL DEFAULT '',
profilfarbe
varchar(20) NOT NULL DEFAULT '',
firma
varchar(50) DEFAULT NULL,
strasse
varchar(30) DEFAULT NULL,
ort
varchar(20) DEFAULT NULL,
plz
varchar(10) DEFAULT NULL,
anschrift
varchar(50) NOT NULL DEFAULT '',
logo
varchar(50) DEFAULT NULL,
logo2
varchar(50) NOT NULL DEFAULT '',
fusszeile
varchar(50) DEFAULT NULL,
ustidentnr
varchar(20) DEFAULT NULL,
steuernr
varchar(20) DEFAULT NULL,
bank
varchar(20) DEFAULT NULL,
ktn
varchar(10) DEFAULT NULL,
blz
varchar(10) DEFAULT NULL,
iban
varchar(255) NOT NULL DEFAULT '',
bic
varchar(50) NOT NULL DEFAULT '',
tel
varchar(20) DEFAULT NULL,
fax
varchar(20) DEFAULT NULL,
www
varchar(100) NOT NULL DEFAULT '',
mail
varchar(50) NOT NULL DEFAULT '',
mwstnorm
varchar(5) DEFAULT NULL,
mwsterm
varchar(5) DEFAULT NULL,
warnstufeh
char(3) DEFAULT NULL,
warnstufen
char(3) DEFAULT NULL,
warnstufel
char(3) DEFAULT NULL,
low1
varchar(5) NOT NULL DEFAULT '',
low2
varchar(5) NOT NULL DEFAULT '',
low3
varchar(5) NOT NULL DEFAULT '',
low4
varchar(5) NOT NULL DEFAULT '',
low5
varchar(5) NOT NULL DEFAULT '',
low6
varchar(5) NOT NULL DEFAULT '',
high1
varchar(5) NOT NULL DEFAULT '',
high2
varchar(5) NOT NULL DEFAULT '',
high3
varchar(5) NOT NULL DEFAULT '',
high4
varchar(5) NOT NULL DEFAULT '',
high5
varchar(5) NOT NULL DEFAULT '',
high6
varchar(5) NOT NULL DEFAULT '',
rabatt1
varchar(5) NOT NULL DEFAULT '',
rabatt2
varchar(5) NOT NULL DEFAULT '',
rabatt3
varchar(5) NOT NULL DEFAULT '',
rabatt4
varchar(5) NOT NULL DEFAULT '',
rabatt5
varchar(5) NOT NULL DEFAULT '',
rabatt6
varchar(5) NOT NULL DEFAULT '',
rabatt7
varchar(5) NOT NULL DEFAULT '',
mingewinn1
double NOT NULL DEFAULT '0',
mingewinn2
double NOT NULL DEFAULT '0',
mingewinn3
double NOT NULL DEFAULT '0',
mingewinn4
double NOT NULL DEFAULT '0',
mingewinn5
double NOT NULL DEFAULT '0',
mingewinn6
double NOT NULL DEFAULT '0',
mingewinn7
double NOT NULL DEFAULT '0',
anreden
varchar(255) NOT NULL DEFAULT '',
titel
varchar(255) NOT NULL DEFAULT '',
standard
char(1) NOT NULL DEFAULT '',
schrittk
int(11) NOT NULL DEFAULT '7',
zarten
longtext NOT NULL,
rabatth
varchar(5) NOT NULL DEFAULT '',
rabattgh
varchar(5) NOT NULL DEFAULT '',
schritta
int(11) NOT NULL DEFAULT '0',
rechzus
longtext NOT NULL,
werbetexte
longtext NOT NULL,
ve
text NOT NULL,
vh
text NOT NULL,
schrittm
int(11) NOT NULL DEFAULT '0',
schrittt
int(11) NOT NULL DEFAULT '0',
iknr
varchar(10) NOT NULL DEFAULT '',
inventurlistenkopfzeile
varchar(255) NOT NULL DEFAULT '',
mahnkosten1
decimal(10,2) NOT NULL DEFAULT '0.00',
mahnkosten2
decimal(10,2) NOT NULL DEFAULT '0.00',
mahnkosten3
decimal(10,2) NOT NULL DEFAULT '0.00',
mahntext1
longtext NOT NULL,
mahntext2
longtext NOT NULL,
mahntext3
longtext NOT NULL,
betrefftexte
longtext NOT NULL,
kassebetreff
longtext NOT NULL,
ddbzw
int(11) NOT NULL DEFAULT '0',
artkat
text NOT NULL,
werbb
text NOT NULL,
kombimodusak1
char(1) NOT NULL DEFAULT '0',
kombimodusak2
char(1) NOT NULL DEFAULT '0',
labeldatei
tinytext NOT NULL,
labelstat
varchar(20) NOT NULL DEFAULT '0',
kundentimestamp
timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
uptime
bigint(20) NOT NULL DEFAULT '0',
unterbrechungen
text NOT NULL,
pausen
text NOT NULL,
lastfix
int(11) NOT NULL DEFAULT '0',
eigliefkennung
text NOT NULL,
allgaw
decimal(3,2) NOT NULL DEFAULT '0.00',
kundekat
longtext NOT NULL,
labeldrucker
longtext NOT NULL,
vdaknr
tinytext NOT NULL,
datei\_upload
text NOT NULL,
art\_gaenge
text NOT NULL,
art\_ausstattung
text NOT NULL,
art\_akkus
text NOT NULL,
dfueverbindung
tinytext NOT NULL,
supportaktiv
tinyint(4) NOT NULL DEFAULT '0',
artikelkeinabwesend
text NOT NULL,
kopftextverwenden
int(11) NOT NULL DEFAULT '1',
zahlungsbedingungen
text NOT NULL,
bondrucker
tinytext,
quickkunde
int(11) DEFAULT NULL,
quickr\_kopftext
text NOT NULL,
quickr\_betreff
tinytext NOT NULL,
quickr\_zusatzkosten
tinytext NOT NULL,
quickr\_zahlungsbedingungen
tinytext NOT NULL,
quickr\_vonwo
text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
wenn ich versuche sie umzustellen bekomme ich:
Error Code : 1005
Can't create table 'rt.#sql-175c_f' (errno: 140)
ich habe mittlerweile alle logntext-felder auf text gestellt, was aber nichts hilft
wenn ich eine gewisse anzahl an feldern heraus nehme funktioniert es
daher nehme ich an, dass es was mit der maximalen theoretischen größe eines datensatzes zu tun hat ... aber ich steig noch nicht wirklich dahinter, het jemand von euch damit erfahrung?
wäre suuuuper ;)
vielen dank schonmal im voraus!
Hi!
Error Code : 1005
Can't create table 'rt.#sql-175c_f' (errno: 140)
daher nehme ich an, dass es was mit der maximalen theoretischen größe eines datensatzes zu tun hat ... aber ich steig noch nicht wirklich dahinter, het jemand von euch damit erfahrung?
Einmal Suchen nach "myisam ndb 1005" findet eine gleichartige Frage im MySQL-Forum und die dortige Antwort hat auch einen Lösungsvorschlag parat.
Lo!
Hi!
Error Code : 1005
Can't create table 'rt.#sql-175c_f' (errno: 140)
daher nehme ich an, dass es was mit der maximalen theoretischen größe eines datensatzes zu tun hat ... aber ich steig noch nicht wirklich dahinter, het jemand von euch damit erfahrung?Einmal Suchen nach "myisam ndb 1005" findet eine gleichartige Frage im MySQL-Forum und die dortige Antwort hat auch einen Lösungsvorschlag parat.
Lo!
hm, sorry ich finde zwar forumeinträge, aber immer mit anderen fehlernummern, nicht errno: 140, hast du vielleicht den entsprechenden link für mich?
Hi!
Error Code : 1005
Can't create table 'rt.#sql-175c_f' (errno: 140)
Einmal Suchen nach "myisam ndb 1005" findet eine gleichartige Frage im MySQL-Forum und die dortige Antwort hat auch einen Lösungsvorschlag parat.
hm, sorry ich finde zwar forumeinträge, aber immer mit anderen fehlernummern, nicht errno: 140, hast du vielleicht den entsprechenden link für mich?
Die 140 hatte ich ignoriert, aber wenn man die ebenfalls in die Suche aufnimmt, bekommt man unter anderem eine MySQL-Handbuchseite gelistet.
Lo!
Hi!
Error Code : 1005
Can't create table 'rt.#sql-175c_f' (errno: 140)
Einmal Suchen nach "myisam ndb 1005" findet eine gleichartige Frage im MySQL-Forum und die dortige Antwort hat auch einen Lösungsvorschlag parat.
hm, sorry ich finde zwar forumeinträge, aber immer mit anderen fehlernummern, nicht errno: 140, hast du vielleicht den entsprechenden link für mich?Die 140 hatte ich ignoriert, aber wenn man die ebenfalls in die Suche aufnimmt, bekommt man unter anderem eine MySQL-Handbuchseite gelistet.
Lo!
huhu, wenn du das hier meinst, das hatte ich letzte nacht auch schon gefunden:
mysql> CREATE TABLE t1 (
-> c1 INT STORAGE DISK,
-> c2 INT STORAGE MEMORY
-> ) ENGINE NDB;
ERROR 1005 (HY000): Can't create table 'c.t1' (errno: 140)
mysql> CREATE TABLE t1 (
-> c1 INT STORAGE DISK,
-> c2 INT STORAGE MEMORY
-> ) TABLESPACE ts_1 ENGINE NDB;
Query OK, 0 rows affected (1.06 sec)
hierbei werden ja verschiedenen feldern unterschiedliche speicherorte vorgegeben, das will ich ja garnicht, ich will ja einfach nur eine vorhandene tabelle komplett engine=ndbcluster setzen, und dabei wirft er mir diesen fehler aus
was ich mich noch wundere, wenn ich beispielsweise ein paar felder weg nehme, sodass ich nur noch 99 beispielsweise habe (103 sind wieder zu viel) dann klappt es anscheinend ...
habnun mittlerweile auch schon in der config.ini
MaxNoOfUniqueHashIndexes=164
MaxNoOfOrderedIndexes=164
gesetzt, aber es hilft leider nix ;(
hast du denn erfahrung mit mysql-cluster?
Hi!
huhu, wenn du das hier meinst, das hatte ich letzte nacht auch schon gefunden:
Da ich nicht weiß, was du alles schon gefunden und probiert hast, kann es vorkommen, dass ich auf Dinge verweise, die du schon kennst.
hast du denn erfahrung mit mysql-cluster?
Nein, da du aber nicht von deinen Fundstellen und Versuchen erzählt hast, und ich recht einfach zu den gegebenen Stichpunkten Ergebnisse fand, nahm ich an, es mangelt dir schon an Recherchekenntnissen und wollte dich zumindest ermutigen, die Kenntnisse des Netzes zu erkunden.
Lo!
ja, naja ich hab das mal im mysql-forum gepostet, wenn ich da eine lösung finde werd ich se hier auch noch posten, mal schauen was dabei rum kommt ;)
ich danke dir dennoch erstmal für deine mühe!