Migration av Koha till ny installation

Då jag står inför en migration av Koha tänkte jag dokumentera det. En Koha-databas från ett system med Koha 13.22 och Ubuntu 14.04 LTS ska till en ny virtuell maskin med Debian 8.6 och Koha 16.11.

Innan du själv ger dig i kast med en migration baserad på informationen i denna bloggbost ber jag dig att gå igenom den officiella dokumentationen parallellt. Glöm inte att ta backup på all din information innan du sätter igång. Jag rekommenderar att först göra detta på en icke-produktionsserver, för att försäkra sig om att resultatet blir det förväntade.

Gör en dump/export av databasen med mysqldump

Om du inte redan använder mysqldump, skapa en fil som du namnger .my.cnf (detta är rekommenderat om du använder mysqldump ofta eller planerar att göra det).

Jag rekommenderar att man stoppar servern och databashanteraren innan man utför exporten.

Börja med att skapa följande fil:

$ nano .my.cnf

I denna fil ska du lägga till följande information.

 [mysqldump]
 user=användarnamn
 password=lösenordet

Spara sedan ändringarna.

MySQL-användaren som du anger i filnamnet måste ha tillgång till databasen, mer om det på denna sida.

Filen (.my.cnf) måste ha filrättighet 600, dvs, den får inte kunna läsas av någon annan.

Kör sedan följande kommando:

$ mysqldump databasnamn >  dumpfilnamn.sql

Ett alternativ till att skapa en .my.cnf-fil är att köra följande kommando:

$ mysqldump -u användare -p databasnamn > dumpfilnamn.sql

Användaren ovan kan vara t.ex. root, koha-användaren eller någon annan MySQL-användare som har de rättigheter som behövs.

Sedan ska du föra över sql-filen till den nya servern. Jag gör det med scp (secure copy).

$ scp dumpfilnamn.sql användare@192.168.2.129:dumpfilnamn.sql

Här ändrar du förstås IP-adressen och användarnamnet till det som passar din server. Exemplet ovan förutsätter att du använder SSH och att porten är 22.

Importera dumpfilen till den nya servern

Om du har skapat en databas med samma namn kan du radera den.

$ mysql -u root -p
mysql> drop database koha_instansnamn;

Skapa en ny databas med samma namn.

mysql> create database koha_instansnamn;

Avsluta genom exit och kör sedan följande kommando.

$ mysql -u root -p koha_instansnamn < dumpfilnamn.sql

Kör:

$ sudo koha-upgrade-schema instansnamn

 

Kör sedan:

$ sudo koha-rebuild-zebra -v -f instansnamn

Lycka till!

Kommentera gärna denna bloggpost om du hittar något fel eller vill att jag ska göra något tillägg!

 

Liknande om migration och flytt av Koha-server:

Moving an installation from a regular install to the Debian packages (Koha’s wiki)

Tobias

Bloggande IT-bibliotekarie och linuxnörd. Brinner för frågor om fri programvara, personlig integritet på nätet och teknik som befriar snarare än stänger in.

Kommentera