MySQL till Maria DB: Snabb migreringsguide för Debian

När en produkt som fungerar och lönar sig och är öppen källkod hamnar på ett företag vars mål är ingen ringare än att tjäna mer och mer pengar, darrar världen.

Det hände redan med OpenOffice vid den tiden och nu är det tur MySQL. Att bära till Oracle bakom vet ingen vad som kan hända och det är bra att veta att det finns alternativ och specifikt det bästa av allt är Maria DB.

Citera Wikipedia:

mariadb är en databashanteringssystem härledd från MySQL med GPL-licens. Det är utvecklat av michael widenius (grundare av MySQL) och utvecklargemenskapen fri programvara. Ange två lagringsmotorer ny, en kallad Luft -som ersätter med fördelar MyISAM- och ett annat samtal XtraDB -byter ut InnoDB. Den har hög kompatibilitet med MySQL eftersom den har samma kommandon, gränssnitt, API: er och bibliotek, vars mål är att kunna ändra en server till en annan direkt.

Så utan vidare, låt oss se hur man går ifrån MySQL a Maria DB.

Det är viktigt att veta att för att detta ska fungera 100% måste vi ha samma version av MySQL (5.5) och Maria DB (5.5)

Migrera från MySQL till Maria DB

Denna process kan inte göras varmt. Med andra ord måste vi stanna en stund för våra tjänster och processer som körs MySQL.

# service stop apache2 # service stop nginx # service stop mysql

I det här fallet stoppar vi Apache eller NGinx beroende på vilken vi använder, och naturligtvis stoppar vi också MySQL.

Senare gör vi en säkerhetskopia av vår MySQL-databas:

# mysqldump -u root -p --all-databases > mysqlbackup.sql

Och vi tar bort alla paket relaterade till MySQL:

# aptitude remove mysql-server-core-5.5 mysql-server-5.5 mysql-server mysql-common mysql-client-5.5 libmysqlclient18

Nu måste vi installera Maria DB. Tyvärr finns det inte i Debian-förvaret ännu, men vi kan installera det med egna förvar. För andra distributioner kan du se instruktioner här.

Vi lägger till följande i vår /etc/sources.list-fil:

# MariaDB 5.5 förvarslista - skapad 2013-08-02 13:48 UTC # http://mariadb.org/mariadb/repositories/ deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian wheezy huvuddeb-src http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian wheezy main

Sedan uppdaterar vi och installerar Maria DB:

sudo aptitude uppdatering sudo apt-get install mariadb-server

Vi startar Maria DB (om det inte gjorde det automatiskt) och kontrollerar att det fungerar:

# mysql -u root -p -Be 'visa databaser' Ange lösenord:

Vissa inställningar har ändrats avsevärt mellan MySQL och MariaDB, men det är väldigt enkelt att arbeta med. Nästan allt som förändrats har att göra med de mekanismer som har ersatts, till exempel replikering. Vi behöver bara kopiera de optimeringsalternativ som vi hade i filen min.cnf de MySQLoch konfigurera resten för hand.

Till exempel dessa data:

bind-address = 127.0.0.1 max_connections = 10 connect_timeout = 30 wait_timeout = 600 max_allowed_packet = 16M thread_cache_size = 256 ELLER sort = 16M bulk_insert_buffer_size = 16M tmp_table_size = 64M max_heap_table_size = 64M

Vi gör nödvändiga ändringar och startar om Maria DB.

# service mysql starta om Stoppa MariaDB-databasservern: mysqld. Startar MariaDB-databasservern: mysqld. . . Letar efter korrupta, inte helt stängda och uppgradering behöver tabeller .. # mysql -u root -p -Visa 'visa databaser' Ange lösenord:

Ja, Maria DB behåll samma mysql-namn för att starta om tjänsten för att bibehålla bättre kompatibilitet. Om allt är bra startar vi resten av tjänsterna:

# service apache2 start # service nginx start

Och redo. Om vi ​​vill gå tillbaka (vilket jag inte rekommenderar) måste vi bara springa:

# service mysql stop # apt-get remove mariadb-server-5.5 mariadb-common mariadb-client-5.5 libmariadbclient18 # apt-get install mysql-server

Källa: Artikel hämtad och modifierad från BeginLinux


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Mauricio sade

    Eftersom säkerhetskopian av databasen saknas.

    1.    livlig sade

      Jag tror inte nödvändigtvis, men tack för förtydligandet. Vi gjorde säkerhetskopian om den aktuella databasen misslyckades, eftersom det verkar för mig att båda använder samma DB. Jag måste läsa mer om ämnet.

  2.   ozkar sade

    Fedora 19 kommer redan med Maria som standard, men varken kort eller lat jag migrerade mina webbappar till PostgreSQL, eftersom MySQL slog oss i hornen, jag hoppas att PostgreSQL förblir trogen i minst 2-3 år.

    1.    livlig sade

      ArchLinux inkluderar också Maria DB 😀

      1.    ozkar sade

        Du har en bågskruv ... att även jag har lösa tänder och vill använda den igen ... men jag är lat. 😀

  3.   3ndriago sade

    Jag ser en trend med system inklusive stöd för MariaDB och enligt vad jag har läst verkar det vara på MySQL-nivå och till och med överträffa det i vissa aspekter, men min fråga är: det faktum att Oracle nu står bakom MySQL för att migrera och så förresten överge en tidtestad och miljonanvändande bd-chef?

    1.    livlig sade

      Du har rätt. Att bara säga att Oracle är tillräckligt skäl för att ta slut på MySQL. Maria DB är också en gaffel av MySQL som underhålls av skaparen av MySQL och gemenskapen. Jag vet inte om dig, men det ger mig åtminstone mycket säkerhet. Och om vi lägger till att kompatibiliteten är mycket bra, för jag tror att det inte finns några ursäkter för att byta till Maria DB.

      😉

      1.    eliotime3000 sade

        Och det är därför jag vägrar att installera Java på min Debian. Jag använder knappast OpenJDK med IcedTea och det fungerar underverk och bättre än Java.

      2.    3ndriago sade

        Tja, man, jag är säker på att du måste ha dina skäl för att hata Oracle (det luktar som de som får dig att hata Microsoft, Apple och till och med Google) men eftersom Oracle inte har gjort någonting mot mig ... och jag tror att jag var kommer att ge dig ett SPARC för din födelsedag XD

        1.    eliotime3000 sade

          Det hänvisar till programvarunivå, inte hårdvarunivå.

          1.    3ndriago sade

            Nej, om vi ska hata, hatar vi allt, att halva mått är inte coolt ... hehehehehehe

          2.    livlig sade

            xDDD

  4.   st0rmt4il sade

    Tack elav, förresten, är det lämpligt att ha båda webbservrarna och starta samtidigt?

    Hälsningar!

    1.    livlig sade

      Vissa använder Apache som en webbserver och NGnix som en proxy för webbförfrågningar. Ganska röra. Till exempel när du använder Node.js, som använder en port bakifrån som ingen använder och möjligen din ISP har blockerat den 😀

  5.   eliotime3000 sade

    Bra migrationslärare. Slackware migrerade för länge sedan till MariaDB för att undvika ytterligare röra med MySQL.

    Så snart det finns på Debians säkerhetsreport kommer jag att meddela det så snart som möjligt. För närvarande håller jag på att sätta ihop min handledning om installation / konfigurering / anpassning av Slackware.

  6.   jlbaena sade

    Men beror kde fortfarande på mysql (på debian) eller med denna migrering är det inte längre nödvändigt?

  7.   brunocascio sade

    Så utifrån vad jag förstod skulle alla applikationer som konfigurerats med mysql inte behöva konfigurera om något av det? Installera bara MariaDB (och avinstallera mysql) och behålla namnen som mysql ska fungera?

    När det gäller prestanda nämns motorbyten.
    Presterar de enastående med gamla MylSam och InnoDB?

    Någon som utförde några mätvärden?

      1.    brunocascio sade

        Jag förstod haha, tack!

  8.   helena_ryuu sade

    Tack så mycket! nu om det är klart för mig; D

  9.   Xavier sade

    Det går inte att ställa in lösenord för MariaDB "root" -användaren

    Ett fel inträffade när du ställde in lösenordet för MariaDB │
    │ administrativ användare. Detta kan ha hänt eftersom kontot redan │
    │ har ett lösenord eller på grund av ett kommunikationsproblem med MariaDB │
    │ server. │
    │ │
    │ Du bör kontrollera kontots lösenord efter paketinstallationen. │
    │ │
    │ Läs filen /usr/share/doc/mariadb-server-10.1/README.Debian │
    │ för mer information.

    1.    Xavier sade

      Jag avinstallerade mariadb maridb-server-paketen
      Jag tog bort katalogen / var / lib / mysql.
      3 Installerade om Mariadb, Mariadb-serverpaketen.
      systemct start mariadb; systemctl aktivera mariadb (problem löst).