[Linux] Upgraden van MySQL 4.0.x naar 4.1.x

Pagina: 1
Acties:

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 15-02 07:48

Snow_King

Konijn is stoer!

Topicstarter
Hallo,

Ik ben nu al een tijdje aan het kijken naar MySQL 4.1 op een productie server.

De nieuwe functies in MySQL 4.1.x zijn erg mooi, maar het upgraden gaat volgens mij niet al te lekker?

Ik draai Debian met MySQL, Apache en PHP, de "standard" combinatie dus.

Als ik het goed begrijp en ik wil MySQL 4.0.x upgrade naar 4.1.x dan moet ik het volgende doen:

- MySQL upgraden
- PHP hercompilen met mysqli support? (http://nl.php.net/mysqli)
- In al mijn PHP scripts mysql_* vervangen door mysqli_*?

Ik heb http://dev.mysql.com/doc/mysql/en/Upgrading-from-4.0.html doorgenomen en daar zie ik toch een hoop veranderingen waardoor een migratie op een shared-hosting platform niet zo makkelijk door te voeren is?

De search wees hier bij mij 0 uit.

Heeft iemand hier wat ervaring mee of heeft tips?

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 01-02 20:46

dawuss

gadgeteer

Snow_King schreef op vrijdag 26 november 2004 @ 17:52:
Hallo,

Ik ben nu al een tijdje aan het kijken naar MySQL 4.1 op een productie server.

De nieuwe functies in MySQL 4.1.x zijn erg mooi, maar het upgraden gaat volgens mij niet al te lekker?

Ik draai Debian met MySQL, Apache en PHP, de "standard" combinatie dus.

Als ik het goed begrijp en ik wil MySQL 4.0.x upgrade naar 4.1.x dan moet ik het volgende doen:

- MySQL upgraden
- PHP hercompilen met mysqli support? (http://nl.php.net/mysqli)
Daar ontkom je sowieso niet aan, maar dat is niet zo ingewikkeld toch?
- In al mijn PHP scripts mysql_* vervangen door mysqli_*?
Daar ben ik niet zo zeker van. Volgens mij is dit alleen nodig als je ook daadwerkelijk in al je scripts gebruik wilt gaan maken van de extended mysql functionaliteit.

Overigens: Welke distributie draai je?

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


  • Snow_King
  • Registratie: April 2001
  • Laatst online: 15-02 07:48

Snow_King

Konijn is stoer!

Topicstarter
Ik draai Debian op alle systemen.

Volgens mij moet ik wel in alle scripts mysql_* vervangen door mysqli_*, maar dat weet ik dus niet zeker. Vandaar dit topic voor wat duidelijkheid.

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Anders probeer je het gewoon even? Wat ik eigenlijk wil zeggen, je opent een topic waar je een nog niet geconstateerd probleem post, waarom probeer je het dan zelf niet even? Je kan toch wel ergens een testbak omzetten naar 4.1 en de php code gelijk houden. Werkt het dan weet je dat het niet moet maar ms wel wenselijk is, werkt het niet dan weet je dat ook direct.
Dus probeer zelf even wat zou ik zeggen en post je resultaat hier. Denk dan in het vervolg ook even na voordat je zo'n topic opent, het nut ervan is nl marginaal

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • PowerSp00n
  • Registratie: Februari 2002
  • Laatst online: 17-11-2025

PowerSp00n

There is no spoon

Er zijn wel mogelijkheden om de mysql_* functies te behouden volgensmij, in de comments op http://nl2.php.net/mysqli kun je er iets over terug vinden.

Waarom er trouwens nou weer dit soort aanpassingen doorgevoerd worden vind ik een beetje gek. Moet je eens nagaan wat een moeite dit gaat kosten voor shared hosting bedrijven en klanten als dit geupgrade moet gaan worden, dat zorgt weer voor heel wat problemen.

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 15-02 07:48

Snow_King

Konijn is stoer!

Topicstarter
Ik wil het ook nog niet doorvoeren als het te veel problemen oplevert.

Ik ben hier op zoek naar wat ervaringen rondom de upgrade naar versie 4.1, dus zie niet in waarom dit topic niet nuttig zou zijn?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:04

Creepy

Tactical Espionage Splatterer

Opzoek naar ervaringen is heel wat anders dan denken dat je nu al een probleem hebt terwijl je dat nog lang niet zeker weet :)

Je kan toch een test server installeren, mysql 4.0 erop zetten, de databases van de produktie machine overnemen en dan upgraden naar 4.1. Kan je precies zien wat er eventueel mis gaat.
Zoiezo zou ik niet zomaar zo'n stuk software upgraden op een produkte server zonder het getest te hebben.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Ik weet niet hoe Debian dit afhandelt, maar toen ik onder Windows XP van 4.0 naar 4.1 ben geupgrade, waren alle tabellen naar de 'knoppen'. Het probleem is dat (var)char fields in 4.0 een byte-lengte hadden en in 4.1 een char-lengte. Als je dus een karakterset kiest met multi-byte chars, wordt de byte-lengte gedeeld door de byte-lengte van het langste karakter.
Eerst alle data backuppen is dus wel handig.

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 14-02 22:57

BoAC

Memento mori

OlafvdSpek schreef op vrijdag 26 november 2004 @ 20:55:
Ik weet niet hoe Debian dit afhandelt, maar toen ik onder Windows XP van 4.0 naar 4.1 ben geupgrade, waren alle tabellen naar de 'knoppen'. Het probleem is dat (var)char fields in 4.0 een byte-lengte hadden en in 4.1 een char-lengte. Als je dus een karakterset kiest met multi-byte chars, wordt de byte-lengte gedeeld door de byte-lengte van het langste karakter.
Eerst alle data backuppen is dus wel handig.
Volgens de mysql-site kun je dus weer veilig terug naar 4.0 waarna de data weer goed is.
De oplossing zou dan zijn dat je eerst alle tabellen dumpt met mysqldump, mysql 4.1 installeren en dan de tabellen weer terug zetten.

* BoAC is benieuwd hoe dat met Gentoo zal gaan ;)

  • reddevil001
  • Registratie: Januari 2002
  • Laatst online: 10-02 13:15
Snow_King schreef op vrijdag 26 november 2004 @ 17:52:
- PHP hercompilen met mysqli support? (http://nl.php.net/mysqli)
- In al mijn PHP scripts mysql_* vervangen door mysqli_*?
Je kan mysql_* gewoon blijven gebruiken. Wel is me opgevallen dat het verstandig is om over te stappen op mysqli_*. Mysqli_* gaat toch iets anders om met de queries.

Overigens gaat 4.1 ook anders om met de timepstamp. Het is dan even opletten hoe je (php-)applicaties hier mee om gaat.

None


  • StefSybo
  • Registratie: Maart 2004
  • Niet online
Ik heb laatst ook een server geupgrade, gewoon door mysql te installeren. Aan php heb ik niets veranderd en aan de scripts alleen dingen die met timestamps te maken hadden. Toen werkte het gewoon, misschien is het wel beter om php opnieuw te compilen, maar het is dus niet nodig ;)

Het gaat dan trouwens om php 5.0.2 met apache 2.0.52 op fedora core 2

[ Voor 12% gewijzigd door StefSybo op 27-11-2004 16:28 ]


  • Snow_King
  • Registratie: April 2001
  • Laatst online: 15-02 07:48

Snow_King

Konijn is stoer!

Topicstarter
Hmm ok, iig bedankt voor de reacties :)

Dat rondom die timestamps ga ik eens uitzoeken.
Ik draai overigens PHP 4.3.9 als module en 5.0.2 als CGI (naast elkaar dus)
Pagina: 1