De MySQL a Maria DB: Guia ràpida de migració per a Debian

Quan un producte que funciona i val la pena, i que per altres és de codi obert, cau en mans d'una empresa l'objectiu no és altre que fer més i més diners, el món tremola.

Ja va passar amb OpenOffice en el seu moment i ara li toca el torn a MySQL. tenint a Oracle darrere ningú sap el que pot passar i és bo saber que hi ha alternatives i específicament la millor de totes és Maria DB.

Citant a Wikipedia:

MariaDB és un sistema de gestió de bases de dades derivat de MySQL amb llicència GPL. És desenvolupat per Michael Widenius (Fundador de MySQL) I la comunitat de desenvolupadors de programari lliure. Introdueix dos motors d'emmagatzematge nous, un anomenat Ària -que reemplaça amb avantatges a MyISAM- i un altre anomenat XtraDB -en substitució de InnoDB. Té una alta compatibilitat amb MySQL ja que posseeix les mateixes ordres, interfícies, APIs i biblioteques, sent el seu objectiu poder canviar un servidor per un altre directament.

Així que sense més preàmbuls vegem com passar de MySQL a Maria DB.

És important saber que perquè això funcioni a el 100%, hem de tenir la mateixa versió de MySQL (5.5) i Maria DB (5.5)

Migrant de MySQL a Maria DB

Aquest procés no es pot fer en calent. O sigui, hem de parar per un instant els nostres serveis i processos que estiguin executant MySQL.

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

En aquest cas aturem Apache o Nginx en dependència de el qual estiguem fent servir, i com és lògic també parem a MySQL.

Posteriorment fem un backup de la nostra base de dades MySQL:

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

I eliminem tots els paquets relacionats amb MySQL:

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

Ara hem d'instal·lar Maria DB. Malauradament, encara no es troba en els repositoris de Debian, però podem instal·lar usant els seus propis repositoris. Per altres distribucions, poden veure les instruccions aquí.

Afegim al nostre fitxer /etc/sources.list el següent:

# MariaDB 5.5 repository list - created 2013 08:02 UTC # http://mariadb.org/mariadb/repositories/ deb http://ftp.osuosl.org/pub/mariadb/repo/13/debian wheezy main deb-src http://ftp.osuosl.org/pub/mariadb/repo/48/debian wheezy main

Després actualitzem i instal·lem Maria DB:

suo aptitude update sudo apt-get install MariaDB-server

Iniciem Maria DB (si no ho va fer automàticament) i vam comprovar que estigui funcionant:

# Mysql -u root -p -be xou databases 'Enter password:

Algunes configuracions han canviat considerablement entre MySQL i MariaDB, però, és molt fàcil de treballar. Gairebé tot el que va canviar té a veure amb els mecanismes que s'han substituït, per exemple, la replicació. Només hem de còpies les opcions d'optimització de rendiment que teníem en el fitxer my.cnf de MySQL, I reconfigurar la resta a mà.

Per exemple, aquestes dades:

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

Fem els canvis necessaris i reiniciem Maria DB.

# Service mysql restart Stopping MariaDB database server: mysqld. A partir MariaDB database server: mysqld. . . Checking for Corrupt, not cleanly closed and upgrade Needing tables .. # mysql -u root -p -be xou databases 'Enter password:

si, Maria DB manté el mateix nom mysql per reiniciar el servei, en vista de mantenir major compatibilitat. Si tot està bé, doncs vam iniciar la resta dels serveis:

# Service apache2 start # service nginx start

I llest. Si volem tornar enrere (cosa que no recomano), només hem d'executar:

# Service mysql stop # apt-get remove MariaDB-server-5.5 MariaDB-common MariaDB-client-5.5 libmariadbclient18 # apt-get install mysql-server

Font: Article pres i modificat de BeginLinux


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Maurici va dir

    Com que falta la càrrega de la còpia de seguretat de la base de dades.

    1.    ILAV va dir

      Crec que no necessàriament, però gràcies per l'aclariment. El backup ho vam fer en el cas que la base de dades actual falli, ja que em sembla que tots dos usen la mateixa DB. Hauré de llegir més sobre el tema.

  2.   Ozkar va dir

    Fedora 19 ja ve amb Maria per default, però sense pensar-s'ho dues vegades vaig migrar els meus web-apps per PostgreSQL, ja que MySQL ens va pegar les banyes, espero que PostgreSQL es mantingui fidel a el menys 2-3 anys.

    1.    ILAV va dir

      ArchLinux també inclou Maria DB 😀

      1.    Ozkar va dir

        Tens un vici d'Arch ... que fins i tot jo tinc els queixals fluixes ja de les ganes de tornar a usar-lo ... però em fa mandra. 😀

  3.   3ndriago va dir

    Veig un trend de sistemes incloent suport per a MariaDB i segons el que he llegit sembla estar a l'altura de MySQL i fins i tot superar-lo en alguns aspectes, però la meva pregunta és: resulta raó suficient el fet que ara Oracle aquest darrera de MySQL per migrar i així de pas abandonar un gestor de bd provat pel temps i l'ús de milions?

    1.    ILAV va dir

      Doncs si. Ja només amb dir Oracle és raó suficient per sortir corrent de MySQL. A més, Maria DB és un fork de MySQL mantingut pel creador de MySQL i la Comunitat. No sé a tu, però a mi almenys això em dóna molta seguretat. I si a això li sumem que la compatibilitat és molt bona, ja que crec que no hi ha excuses per passar-se a Maria DB.

      ;)

      1.    eliotime3000 va dir

        I per això és que em refuso a instal·lar Java al meu Debian. Tot just ús l'OpenJDK amb IcedTea i va de meravelles, i millor que Java.

      2.    3ndriago va dir

        Doncs home, segur estic que has de tenir les teves raons per avorrir a Oracle (em fa olor de que són semblants a les que et fan avorrir a Microsoft, Apple i fins a Google) però com a mi Oracle no m'ha fet res ... i jo que t'anava a obsequiar XNUMX SPARC pel teu cumpleannos XD

        1.    eliotime3000 va dir

          Es refereix a nivell de programari, no de maquinari.

          1.    3ndriago va dir

            No, si anem a avorrir, avorrim tot, això de mitges tintes no mola ... jejejejejeje

          2.    ILAV va dir

            xDDD

  4.   st0rmt4il va dir

    Gràcies ILAV, per cert, és recomanable tenir tots dos servidors web i iniciats al mateix temps?

    Salutacions!

    1.    ILAV va dir

      Hi ha qui fa servir Apache com a servidor web i NGnix com a proxy per a les peticions webs. Tot un embolic. Per exemple quan es fa servir NODE.JS, el qual utilitza un port d'el recarajo que ningú fa servir i possiblement teu ISP el tingui bloquejat 😀

  5.   eliotime3000 va dir

    Bon tut de migració. A més, Slackware fa temps va migrar a MariaDB per evitar major embolic amb MySQL.

    Quant es trobi en el repo seguridado backport de Debian, el anunciaré el més aviat possible. Per ara estic armant el meu tut sobre la instal·lació / configuració / customitzat de Slackware.

  6.   jlbaena va dir

    Però kde segueix depenent de mysql (en debian) o amb aquesta migració ja no cal?

  7.   brunocasci va dir

    Llavors pel que vaig entendre, tota aplicació configurada amb mysql no caldria reconfigurar res de la mateixa? Només instal·lar MariaDB (i desinstal·lar mysql) i als el mantenir els noms com mysql hauria de funcionar?

    Pel que fa a rendiment, s'esmenten els canvis de motors.
    Tenen un exercici destacable amb els antics MylSam i InnoDB?

    Algú va realitzar alguna mètrica?

      1.    brunocasci va dir

        Vaig entendre jaja, Gràcies!

  8.   helena_ryuu va dir

    moltes gràcies! ara si em queda clar; D

  9.   Javier va dir

    Unable to setembre password for the MariaDB «root» user

    │ An error occurred while setting the password for the MariaDB │
    │ administrative user. This may have happened because the account already │
    │ has a password, or because of a communication problem with the MariaDB │
    │ server. │
    │ │
    │ You should check the account 's password after the package installation. │
    │ │
    │ Please read the /usr/share/doc/mariadb-server-10.1/README.Debian file │
    │ for more information.

    1.    Javier va dir

      I uninstalled the MariaDB maridb-server packages
      I removed the directory / var / lib / mysql.
      3 Reinstalled the MariaDB, MariaDB-server packages.
      systemct start MariaDB; systemctl enable MariaDB (problem solved).