MySQL update oder Abwärtskompatibilität

umme

Registered User
Hallo!

Folgendes: Ich bin auf meinem vServer von Debian auf SUSE 9.2 umgestiegen (wegen Confixx, es ging einfach nicht anders). Jedenfalls hatte ich unter Debian noch ein Burning Board laufen mit einer Datenbank in MySQL 4.1.11 .
Auf dem Suse-System ist jetzt nur MySQL 4.0.21 und ich bekomme die Datenbank nicht importiert.
Muss ich jetzt MySQL updaten? Wenn ja ist das überhaupt möglich? Ich habe bei MySQL jetzt eine rpm gezogen, die zu meinem SUSE passt, aber kann sie nicht installieren, weil:

Code:
error: Failed dependencies:
        mysql is needed by (installed) confixx-pro-3.0.9-2.suse.swsoft
        mysql >= 4.0.0 is needed by (installed) confixx-pro-3.0.9-2.suse.swsoft
        mysql is needed by (installed) mysql_passwd-0.7-2.swsoft

Gibt es die Möglichkeit, die Datenbank irgendwie zu importieren? Bis jetzt bekomme ich diese Meldung:

Code:
Fehler

SQL-Befehl:

-- phpMyAdmin SQL Dump
-- version 2.7.0-pl1
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Erstellungszeit: 04. Juli 2006 um 14:44
-- Server Version: 4.1.11
-- PHP-Version: 4.3.10-16.swsoft.1
-- 
-- Datenbank: `sbam_wbb`
-- 
-- --------------------------------------------------------
-- 
-- Tabellenstruktur für Tabelle `bb1_access`
-- 
CREATE TABLE `bb1_access` (
`boardid` int( 11 ) unsigned NOT NULL default '0',
`userid` int( 11 ) unsigned NOT NULL default '0',
`boardpermission` tinyint( 1 ) NOT NULL default '0',
`startpermission` tinyint( 1 ) NOT NULL default '0',
`replypermission` tinyint( 1 ) NOT NULL default '0',
PRIMARY KEY ( `boardid` , `userid` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1;

MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1' at line 8

Kann mir da jemand helfen?

Vielen Dank schonmal!
Alex
 
Was kommt denn nach
...
PRIMARY KEY ( `boardid` , `userid` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1;
?

Die Syntax von "CREATE TABLE" ist korrekt, nur das was danach kommt, koennte nicht passen.

[edit] Ein Update von 4.0.21 auf 4.1.11 ist nicht notwendig. Das sind beides relativ alte Versionen.
Ein Update auf 4.0.27 (bald 28) ist sinnvoller (oder auf 4.1.20).
 
Last edited by a moderator:
Code:
-- Daten für Tabelle `bb1_access`
-- 


-- --------------------------------------------------------

-- 
-- Tabellenstruktur für Tabelle `bb1_adminsessions`
-- 

CREATE TABLE `bb1_adminsessions` (
  `hash` varchar(32) NOT NULL default '',
  `userid` int(11) unsigned NOT NULL default '0',
  `ipaddress` varchar(16) NOT NULL default '',
  `useragent` varchar(100) NOT NULL default '',
  `starttime` int(11) unsigned NOT NULL default '0',
  `lastactivity` int(11) unsigned NOT NULL default '0',
  PRIMARY KEY  (`hash`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Das ist das was als nächstes kommt. Ich habe ma nach dem Problem gegooglet und dabei kam halt raus, dass es an unterschiedlichen MaSQL Versionen liegt....
 
umme said:
Code:
ENGINE=MyISAM DEFAULT CHARSET=latin1;

Das ist das was als nächstes kommt. Ich habe ma nach dem Problem gegooglet und dabei kam halt raus, dass es an unterschiedlichen MaSQL Versionen liegt....
Das ist auch nur die halbe Wahrheit tatsaechlich gibt es in den MySQL Versionen unterschiedliche (Schreibweisen) fuer die table options.
(Das Create-Statement selbst ist sauber.)
Das ENGINE=MyISAM kann man ersetzen durch TYPE=MyISAM das schluckt auch eine 3.23.58 engine.
Fuer das DEFAULT CHARSET hab ich auf die Schnelle keine Alternative gefunden aber Du kannst mal mit COLLATE rumprobieren.
Dumm ist, dass es nur noch eine Doku zu den 3-4er Versionene gibt im Zweifel einfach die table options weglassen oder engine upgraden.
Dabei duerfte die Doku hilfreich sein Dein konkretes Problem mit der Syntax suchst Du am besten unter SQL-Syntax, Data Definition (Language), Create Table.

Ciao,
Mercy.
 
Back
Top