Från MySQL 4 till MySQL 5

19 05 2010

Igår stängde jag ner hela FFUniverse för att göra underhåll på MySQL-databasen. Den skulle uppgraderas från 4.x till 5.x. Det tog ungefär 12 timmar innan sajten var igång igen efter nedstängningen hade påbörjats. Jag påbörjade nedstängningen genom att dirigera om all trafik i vissa styrfiler till en temporär html-sidan. Efter det kunde jag göra en backup på hela databasen (80 MB nånting >_<). Det gick så dåligt för mig så jag fick be FS Data om hjälp. Och som vanligt gjorde de en superbra insats. Sen fick Sebbe, tillförordnad Webmaster på FFU, ladda upp alla SQL-filer efter att nya databasen var på plats.

Här stöter vi sen på patrull. MySQL 5 hanterar inte allt på samma sätt som fyran. Det absolut största problemet är att alla gamla SELECT COUNT(*) vi kört med inte räknar noll svar som noll utan nåt annat, troligen null eller empty. Så när man senare gör en koll på om minVariabel > 0 så kraschar den med type mismatch som svar. Så det var bara att gå runt och lägga till CInt() och CLng() överallt, det löste grejen. Dock är det många sidor att gå igenom och testa, men de flesta ska funka nu.

Ett annat fel vi fick var med funktionen RAND() i MySQL. Av nån anledning har nån annan programmerare lagt in dem i SQL:erna med ett kolumnnamn som parameter: RAND(minkolumn). Detta gillar inte MySQL 5. Så det var bara att söka upp alla dessa och radera parametern så funkade det även där.

Skönt att femman är på plats nu iaf trots att det blev lite problematiskt.


Åtgärder

Information

Lämna en kommentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logga ut / Ändra )

Twitter-bild

You are commenting using your Twitter account. Logga ut / Ändra )

Facebook-foto

You are commenting using your Facebook account. Logga ut / Ändra )

Ansluter till %s




Follow

Get every new post delivered to your Inbox.