MySQL päivitys v3 -> v5

Haamupäivitys johtuu MySQL-päivitystesteistäni. Olen itsepäisesti pysynyt MySQL:n kolmosversiossa (viimeinen julkaistu päivitysversio vuonna 2003) ja nyt sitten siirryn koneenvaihdon myötä 5-versioon.

Koska samalla teen merkistöpäivityksen ISO-8859-1 -> UTF-8, käytännössä kaikki ylläpitämäni palvelut, jotka käyttävät tällä koneella olevaa tietokantaa, räjähtävät hetkellisesti – jotkut enemmän, jotkut vähemmän.

Äskeisten testieni perusteella homma on sen verran iso, että pitää miettiä hetken verran miten hoidan päivityksen. Tietokantojen sisältämän tiedon yhdenmukaisuuden vuoksi olisi selkeintä hoitaa koko homma kerralla, mutta se taas valitettavasti tarkoittaisi kaikille saiteille melko pitkää katkosta. Toisaalta yksi kerrallaan homma hoituisi pienemmillä katkoksilla, mutta on taas itselleni paljon työläämpää – MySQL:n virallisen suosituksen (siis ohjelmistoversioista johtuvien käytännön ongelmien) mukaan päivitys pitää nimittäin tehdä portaittain, eli ensin 3.23 -> 4.0, sitten 4.0 -> 4.1 ja lopulta 4.1 -> 5.0.

Käytännössä siis joutuisin yksitellen päivittäessäni ensin dumppaamaan datan nykyisestä kannasta ja sen jälkeen lataamaan sen uudempaan, dumppaamaan siitä, lataamaan taas uudempaan, dumppaamaan siitä ja lopulta lataamaan tulevaan serveriin. Vaikka tuo ei sinänsä olekaan ylitsepääsemätöntä, melko ikävää se kyllä on – eikä vähiten siksi, että sujuvuuden vuoksi minulla pitäisi ko. serverissä olla siis yhtaikaa neljä eri MySQL-instanssia käynnissä.

Kun nyt ajoin testejäni keskipäivällä otetusta varmuuskopiosta, käynnistelin ja sammuttelin noita tarpeen mukaan mutta koska MySQL:n jakelemat binääripaketit olettavat poluksi /usr/local/mysql, tuo vaatii myös symlinkkien käpistelyä, jolloin neljä tuolla tavalla asennettua instanssia ei edes onnistuisi. Minun pitäisi siis käytännössä kääntää vielä puuttuvat serveriversiot käsin ennen homman aloittamista jotta ne saisi pyörimään kiltisti yhtaikaa.

Nyt tämän kirjoitettuani tajuan miettiväni turhia – aion nimittäin päivittää kaikki tietokannat kerralla ja korjaan tuhoja sitten myöhemmin. Onneksi tärkein saitti on tekstisisältönsä osalta kokonaan tietokannassa, joten sen merkistökoodauksen kanssa ei tule isoja ongelmia – esim. tämän blogin kanssa niitä tuli tuon semi-staattisen sivupalkin osalta. Sinänsä ei olisi mikään pakko tehdä merkistön vaihtoakin nyt samalla, mutta tarvetta sille on ollut jo aiemminkin joten menköön samaan konkurssiin. :)

Jatkuu lähiaikoina.