Om du funderar på att flytta från MySQL till MariaDB finns det goda skäl till detta. MySQL är en av de första plattformarna för databashanteringssystem (DBMS), och har dominerat branschen under lång tid. Den är dessutom fortfarande anmärkningsvärt relevant.

Organisationer flyttar dock långsamt bort från denna plattform. Detta beror exempelvis på dess långsammare bearbetning och ineffektivitet vid hantering av komplexa data. Många av dessa organisationer vänder sig till MariaDB.

MariaDB är ett nyare, lättviktigt DBMS som erbjuder förbättrad prestanda, mer banbrytande funktioner och större kapacitet att hantera komplexa datamängder. Jämfört med MySQL har MariaDB dessutom ett mer livligt community som håller sitt offentliga arkiv uppdaterade och gör innovativa förändringar.

Den här artikeln kommer att guida dig genom migreringen av dina data från MySQL till MariaDB.

Hur man byter databas från MySQL till MariaDB

Att migrera från MySQL till MariaDB är löjligt enkelt. Du kan dela upp hela processen i två viktiga steg:

  1. Säkerhetskopiera din databas i MySQL genom att dumpa den till en SQL-fil.
  2. Logga sedan in på din MariaDB-server och ladda säkerhetskopian för att skapa databasen.

MariaDB är kompatibel med MySQL. Som ett resultat kommer du inte att ha några problem med att migrera din databas.

Har du migrerat din databas från MySQL till MariaDB och dubbelkontrollerat att tabellerna är fullständiga? Då kan du sedan uppdatera din webbplats så att den hämtar data från MariaDB i stället för MySQL.

Krav

Eftersom du vill migrera från MySQL till MariaDB bör du redan ha en MySQL-databas som innehåller data som du vill flytta.

Du bör naturligtvis även ha en kopia av MariaDB. Även om detta inte är ett krav så använder den här handledningen phpMyAdmin. Det är ett visuellt verktyg med öppen källkod som låter dig administrera MySQL- och MariaDB-databaser med hjälp av en webbläsare.

phpMyAdmin
phpMyAdmin

För att få tillgång till phpMyAdmin installerar du antingen WAMPServer eller XAMPP. Dessa serverpaket levereras förinstallerade med phpMyAdmin, MySQL och MariaDB. Det är allt som du behöver för att följa den här handledningen. (XAMPP kan köras på Windows, macOS och Linux).

Om du inte har phpMyAdmin behöver du inte oroa dig. Artikeln innehåller dessutom de kommandon som du kan köra i din terminal för att replikera samma åtgärder på MySQL och MariaDB.

Ut med MySQL

Börja med att skapa en säkerhetskopia av måldatabasen i MySQL. Starta din MySQL-server och logga in på din MySQL-databas med phpMyAdmin. Från WAMP eller XAMPP kan du komma åt phpMyAdmin genom att navigera till http://localhost/phpMyAdmin/.

Inloggningssida för phpMyAdmin
Inloggningssida för phpMyAdmin

När du är inne i MySQL-miljön klickar du på den databas som du vill säkerhetskopiera. Det här exemplet exporterar en WordPress-databas som innehåller de typiska WordPress-tabellerna.

WordPress-databas i phpMyAdmin
WordPress-databas i phpMyAdmin

Klicka på fliken Exportera ovanför tabellerna och välj sedan SQL-formatet. Du kommer sedan att importera den till MariaDB.

Exportera WordPress-databasen i SQL-format
Exportera WordPress-databasen i SQL-format

Klicka på Kör för att ladda ner databasens säkerhetskopia till din lokala dator som en SQL-fil. Saknar du phpMyAdmin eller föredrar att använda kommandon? Då kan du även använda följande kommando för att dumpa din databas till en SQL-fil. Ersätt your-name och your-pass med ditt användarnamn och lösenord för databasen.

 $ mysqldump --user=your-name --password="your-pass" wordpress > wordpress.sql

I det här fallet skapar kommandot en säkerhetskopierings-fil som heter wordpress.sql och som innehåller SQL-koden från WordPress-databasen.

Slutligen avinstallerar du MySQL.

In med MariaDB

Se först till att MariaDB är installerat på din lokala dator. Du behöver inte göra detta manuellt om du använder WAMP, XAMPP eller liknande distribueringar som är förinstallerade med MariaDB.

Nu är det dags att ladda in MySQL’s säkerhetskopierings-fil i MariaDB. Stoppa MySQL-servern från din serveradministratörspanel. Logga ut från MySQL-servern och in på din MariaDB-server (byt bara från MySQL till MariaDB när du loggar in i phpMyAdmin).

phpMyAdmin-inloggningssida för MariaDB-server
phpMyAdmin-inloggningssida för MariaDB-server

På adminpanelen skapar du en ny databas. Du gör detta i phpMyAdmin genom att klicka på Ny. Ge sedan din databas ett namn och klicka på Skapa.

WordPress-databas i phpMyAdmin med MariaDB
WordPress-databas i phpMyAdmin med MariaDB

Klicka på den nya databasen som du just har skapat, klicka därefter på fliken Importera högst upp och importera säkerhetskopian genom att klicka på alternativet Välj fil eller Bläddra.

Importera WordPress-databas
Importera WordPress-databas

Klicka på Kör för att ladda filen. Processen kan ta ett tag, och om allt går bra informerar phpMyAdmin dig om att din förfrågan lyckades.

Meddelande om framgång
Meddelande om framgång

Om du vill använda kommandoraden i stället så följer du de här stegen.

Logga in på din MariaDB-server och skapa den nya databasen på följande sätt:

$ mysql --user=your-name --password="your-pass" -e  "CREATE DATABASE wordpress";

Ladda sedan in säkerhetskopian i MariaDB.

$ mysql --user=your-name --password="your-pass" --database=wordpress < wordpress.sql

När du har lyckats importera filerna från MySQL till MariaDB blir markören aktiv igen.

Hur du uppdaterar din WordPress-webbplats

När du har flyttat från MySQL till MariaDB är det dags att få din WordPress-webbplats att börja använda den nya databasen. För att uppnå detta behöver du bara uppdatera din webbplats fil wp-config.php med de nya databasuppgifterna:

// ** MariaDB settings** //

define('DB_NAME', 'database_name_here');
define('DB_USER', 'database_username_here');
define('DB_PASSWORD', 'database_password_here');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

När du har sparat filen kommer WordPress-webbplatsen att börja hämta data från din nya databas.

Uppdaterad WordPress-webbplats
Uppdaterad WordPress-webbplats

MariaDB och Kinsta

MariaDB är en av de snabbaste innovativa DBMS-plattformarna. Den trenden kommer sannolikt att fortsätta under en längre tid. Kinsta tror på kraften i MariaDB. Det är därför som vi använder MariaDB som en del av vår prestandadrivna serverstack för att erbjuda en utmärkt serverprestanda. Våra hosting-planer gör det dessutom möjligt för dig att utnyttja den bästa och snabbaste tekniken som finns tillgänglig.

Kinsta gör det enkelt att använda MariaDB. Du behöver inte oroa dig för att uppdatera din databasprogramvara, rensa databasen eller kontrollera fel. Vi tar hand om alla dessa nörderiuppgifter åt dig. Som ett resultat kan du fokusera på att skapa det bästa innehållet för användarna på din webbplats.

Sammanfattning

Att migrera från MySQL till MariaDB är en enkel process. I korthet måste du säkerhetskopiera din databas och avinstallera MySQL. Du installerar sedan MariaDB och importerar din säkerhetskopia av databasen.

Kom ihåg att du kan stöta på vissa problem när du migrerar från MySQL till MariaDB. Du kan exempelvis få ett fel om schemat i MySQL inte stämmer överens med schemat i MariaDB. Se dessutom till att du kör mysql_upgrade när du migrerar från en version till en annan. I de flesta fall är lösningen på migreringsproblem att uppgradera båda databaserna till deras senaste versioner innan du försöker igen.

I takt med att MariaDB fortsätter att förnya sig kommer det troligen att bli mindre kompatibelt med MySQL på en rudimentär nivå. Om du använder MySQL och funderar på att flytta till MariaDB för de extra fördelarna rekommenderar vi därför att du hellre gör det förr än senare.

Med Kinsta’s tjänster för databashosting kan du starta en databas och använda snabba, säkra interna anslutningar.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.