MySQL a Maria DB: Guía de migración rápida para Debian

Cando un produto que funciona e paga a pena, e que é de código aberto, cae en mans dunha empresa cuxo obxectivo non é outro que gañar cada vez máis cartos, o mundo treme.

Xa pasou con OpenOffice nese momento e agora é a quenda de MySQL. Tendo a oráculo detrás ninguén sabe o que pode ocorrer e é bo saber que hai alternativas e, en concreto, o mellor de todo María DB.

Citando Wikipedia:

MariaDB é un sistema de xestión de bases de datos derivado de MySQL con Licenza GPL. É desenvolvido por Michael Widenius (fundador de MySQL) e a comunidade de desenvolvedores Foss. Introduce dous motores de almacenamento novo, un chamado Ária -que substitúe por vantaxes MyISAM- e outra chamada XtraDB -substitución InnoDB. Ten unha alta compatibilidade con MySQL xa que ten os mesmos comandos, interfaces, API e bibliotecas, o seu obxectivo é poder cambiar un servidor por outro directamente.

Entón, sen máis, vexamos como ir MySQL a María DB.

É importante saber que para que isto funcione ao 100% debemos ter a mesma versión de MySQL (5.5) e Maria DB (5.5)

Migrando de MySQL a Maria DB

Este proceso non se pode facer en quente. Noutras palabras, temos que parar por un momento os nosos servizos e procesos que están executando MySQL.

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

Neste caso paramos Apache ou NGinx dependendo de cal esteamos a usar e, por suposto, tamén paramos MySQL.

Máis tarde facemos unha copia de seguridade da nosa base de datos MySQL:

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

E eliminamos todos os paquetes relacionados con MySQL:

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

Agora temos que instalar Maria DB. Desafortunadamente, aínda non está nos repositorios de Debian, pero podemos instalalo empregando os seus propios repositorios. Para outras distribucións, podes ver o ficheiro instrucións aquí.

Engadimos o seguinte ao noso ficheiro /etc/sources.list:

Lista de repositorios # MariaDB 5.5 - creada o 2013-08-02 ás 13:48 UTC # http://mariadb.org/mariadb/repositories/ deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian wheezy main deb-src http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian wheezy main

A continuación, actualizamos e instalamos Maria DB:

sudo aptitude update sudo apt-get install mariadb-server

Comezamos Maria DB (se non o fixo automaticamente) e comprobamos que funciona:

# mysql -u root -p -Be 'show databases' Introduza o contrasinal:

Algunhas configuracións cambiaron considerablemente entre MySQL e MariaDB, pero é moi sinxelo traballar. Case todo o que cambiou ten que ver cos mecanismos que se substituíron, por exemplo, a replicación. Só temos que copiar as opcións de optimización do rendemento que tiñamos no ficheiro meu.cnf de MySQL, e reconfigure o resto a man.

Por exemplo, estes datos:

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

Facemos os cambios necesarios e reiniciamos Maria DB.

# service mysql restart Detendo o servidor de base de datos MariaDB: mysqld. Inicio do servidor de bases de datos MariaDB: mysqld. . . Comprobando que non estean corrompidos, non estean limpas e se actualicen as táboas que precisan .. # mysql -u root -p -Ser 'amosar bases de datos' Introduce o contrasinal:

Si, María DB manteña o mesmo nome mysql para reiniciar o servizo, a fin de manter unha mellor compatibilidade. Se todo está ben, entón comezamos o resto dos servizos:

# servizo apache2 inicio # servizo nginx inicio

E listo. Se queremos volver atrás (cousa que non recomendo), só temos que executar:

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

Fonte: artigo extraído e modificado de BeginLinux


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

22 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   Mauricio dixo

    Como falta a carga da copia de seguridade da base de datos.

    1.    elav dixo

      Creo que non necesariamente, pero grazas pola aclaración. Fixemos a copia de seguridade por se falla a base de datos actual, xa que me parece que ambos usan a mesma base de datos. Terei que ler máis sobre o tema.

  2.   Ozkar dixo

    Fedora 19 xa vén con Maria de xeito predeterminado, pero nin curto nin preguiceiro migrei as miñas aplicacións web a PostgreSQL, xa que MySQL nos tocou, espero que PostgreSQL se manteña fiel durante polo menos 2-3 anos.

    1.    elav dixo

      ArchLinux tamén inclúe Maria DB 😀

      1.    Ozkar dixo

        Tes un vicio Arch ... Ata eu teño os dentes soltos e quero volvelo a usar ... pero son preguiceiro. 😀

  3.   3ndríago dixo

    Vexo unha tendencia de sistemas que inclúen soporte para MariaDB e segundo o que lin parece que está a nivel de MySQL e incluso a supera nalgúns aspectos, pero a miña pregunta é: o feito de que agora Oracle estea detrás de MySQL para migrar e entón, por certo, abandonando un xestor de bd probado no tempo e millonario?

    1.    elav dixo

      Tes razón. Só dicir que Oracle é unha razón suficiente para quedar sen MySQL. Ademais, Maria DB é unha bifurcación de MySQL mantida polo creador de MySQL e a comunidade. Non sei de ti, pero polo menos iso dame moita seguridade. E se a isto lle engadimos que a compatibilidade é moi boa, porque creo que non hai excusas para cambiar a Maria DB.

      A

      1.    eliotime3000 dixo

        E por iso rexeito instalar Java no meu Debian. Case non uso OpenJDK con IcedTea e funciona de marabilla, e mellor que Java.

      2.    3ndríago dixo

        Ben, home, estou seguro de que debes ter os teus motivos para odiar a Oracle (cheira a aqueles que che fan odiar a Microsoft, Apple e incluso a Google) pero desde que Oracle non me fixo nada ... e creo que o fun vouche dar un SPARC polo teu aniversario XD

        1.    eliotime3000 dixo

          Refírese ao nivel de software, non ao nivel de hardware.

          1.    3ndríago dixo

            Non, se o imos a odiar, odiamos todo, que medias medidas non é xenial ... hehehehehehehe

          2.    elav dixo

            xDDD

  4.   st0rmt4il dixo

    Grazas elav, por certo, é aconsellable ter os dous servidores web e comezar ao mesmo tempo?

    Saúdos!

    1.    elav dixo

      Algunhas persoas usan Apache como servidor web e NGnix como proxy para solicitudes web. Todo un desastre. Por exemplo, cando se usa Node.js, que usa un porto desde atrás que ninguén usa e posiblemente o seu ISP o bloquee 😀

  5.   eliotime3000 dixo

    Bo titor de migración. Ademais, Slackware migrou hai moito tempo a MariaDB para evitar novas confusións con MySQL.

    En canto estea no repositorio de seguridade do backport de Debian, anunciaréo canto antes. Por agora estou a xuntar o meu tutorial sobre a instalación / configuración / personalización de Slackware.

  6.   jlbaena dixo

    Pero aínda depende kde de mysql (en debian) ou con esta migración xa non é necesario?

  7.   brunocascio dixo

    Entón, polo que entendín, todas as aplicacións configuradas con mysql non terían que reconfigurar nada del? Só tes que instalar MariaDB (e desinstalar mysql) e manter os nomes como mysql debería funcionar?

    En canto ao rendemento, mencionanse os cambios do motor.
    Actúan de xeito excepcional cos antigos MylSam e InnoDB?

    Alguén realizou algunha métrica?

      1.    brunocascio dixo

        Entendín jaja, Grazas!

  8.   helena_ryuu dixo

    Moitas grazas! agora se me queda claro; D

  9.   Xavier dixo

    Non se pode establecer o contrasinal para o usuario "raíz" de MariaDB

    │ Produciuse un erro ao configurar o contrasinal para MariaDB │
    │ usuario administrativo. Pode que isto ocorre porque a conta xa │
    │ ten un contrasinal ou por un problema de comunicación co MariaDB │
    │ servidor. │
    │ │
    │ Debería comprobar o contrasinal da conta despois da instalación do paquete. │
    │ │
    │ Lea o ficheiro /usr/share/doc/mariadb-server-10.1/README.Debian │
    │ para máis información.

    1.    Xavier dixo

      Desinstalei os paquetes mariadb-server de mariadb
      Eliminei o directorio / var / lib / mysql.
      3 Reinstalou os paquetes Mariadb, Mariadb-server.
      systemct start mariadb; systemctl enable mariadb (problema resolto).