MySQL para Maria DB: Guia de migração rápida para Debian

Quando um produto que funciona, compensa e é de código aberto cai nas mãos de uma empresa cujo objetivo não é outro senão ganhar cada vez mais dinheiro, o mundo estremece.

Já aconteceu com OpenOffice na hora e agora é a vez de MySQL. Rumo a Oracle atrás ninguém sabe o que pode acontecer e é bom saber que existem alternativas e, especificamente, o melhor de todas é Maria DB.

Citando a Wikipédia:

MariaDB é um Sistema de gerenciamento de banco de dados derivado de MySQL com Licença GPL. É desenvolvido por michael widenius (fundador de MySQL) e a comunidade de desenvolvedores Software Livre. Digite dois motores de armazenamento novo, um chamado ária -que substitui com vantagens MyISAMGenericName- e outra chamada XtraDBName -replacing InnoDB. Possui alta compatibilidade com MySQL, pois possui os mesmos comandos, interfaces, APIs e bibliotecas, tendo como objetivo poder trocar um servidor por outro diretamente.

Então, sem mais delongas, vamos ver como ir de MySQL a Maria DB.

É importante saber que para que isso funcione 100%, devemos ter a mesma versão do MySQL (5.5) e do Maria DB (5.5)

Migrando do MySQL para Maria DB

Este processo não pode ser feito a quente. Em outras palavras, temos que parar por um momento nossos serviços e processos que estão em execução MySQL.

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

Nesse caso, paramos o Apache ou o NGinx dependendo de qual estivermos usando e, claro, também paramos o MySQL.

Posteriormente, fazemos um backup de nosso banco de dados MySQL:

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

E removemos todos os pacotes relacionados ao 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 o Maria DB. Infelizmente, ele ainda não está nos repositórios Debian, mas podemos instalá-lo usando seus próprios repositórios. Para outras distribuições, você pode ver o instruções aqui.

Adicionamos o seguinte ao nosso arquivo /etc/sources.list:

# MariaDB 5.5 Repository list - criada 2013-08-02 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

Em seguida, atualizamos e instalamos o Maria DB:

sudo aptitude update sudo apt-get install mariadb-server

Iniciamos o Maria DB (se não o fez automaticamente) e verificamos se está funcionando:

# mysql -u root -p -Be 'mostrar bancos de dados' Digite a senha:

Algumas configurações mudaram consideravelmente entre MySQL e MariaDB, no entanto, é muito fácil de trabalhar. Quase tudo que mudou tem a ver com os mecanismos que foram substituídos, por exemplo, replicação. Só temos que copiar as opções de otimização de desempenho que tínhamos no arquivo meu.cnf de MySQLe reconfigure o resto manualmente.

Por exemplo, estes dados:

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

Fazemos as alterações necessárias e reiniciamos o Maria DB.

# service mysql restart Parando o servidor de banco de dados MariaDB: mysqld. Iniciando o servidor de banco de dados MariaDB: mysqld. . . Verificando se há tabelas corrompidas, não fechadas de forma limpa e que precisam de atualização. # Mysql -u root -p -Be 'mostrar bancos de dados' Digite a senha:

Sim, Maria DB mantenha o mesmo nome mysql para reiniciar o serviço, a fim de manter uma melhor compatibilidade. Se tudo estiver bem, então iniciamos o restante dos serviços:

# service apache2 start # service nginx start

E pronto. Se quisermos voltar (o que não recomendo), só temos que executar:

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

Fonte: Artigo obtido e modificado do BeginLinux


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Maurício dito

    Como a carga do backup do banco de dados está faltando.

    1.    elav. dito

      Acho que não necessariamente, mas obrigado pelo esclarecimento. Fizemos o backup caso o Banco de Dados atual falhe, pois me parece que ambos utilizam o mesmo BD. Terei que ler mais sobre o assunto.

  2.   ozkar dito

    O Fedora 19 já vem com o Maria por padrão, mas nem curto nem preguiçoso Eu migrei meus aplicativos da web para o PostgreSQL, já que o MySQL nos atingiu no limite, espero que o PostgreSQL permaneça fiel por pelo menos 2-3 anos.

    1.    elav. dito

      ArchLinux também inclui Maria DB 😀

      1.    ozkar dito

        Você tem um Arch vice ... Até eu tenho dentes soltos e quero usá-lo novamente ... mas eu sou preguiçoso. 😀

  3.   3ndriago dito

    Vejo uma tendência de sistemas incluindo suporte para MariaDB e pelo que li parece estar no nível do MySQL e até superá-lo em alguns aspectos, mas minha dúvida é: o fato de que a Oracle agora está atrás do MySQL para migrar e Então, por falar nisso, abandonou um gerenciador de bd testado pelo tempo e milhões de uso?

    1.    elav. dito

      Pois sim. Apenas dizer que Oracle é motivo suficiente para ficar sem MySQL. Além disso, Maria DB é um fork do MySQL mantido pelo criador do MySQL e da Comunidade. Não sei sobre você, mas pelo menos isso me dá muita segurança. E se somarmos a isso a compatibilidade é muito boa, porque acho que não há desculpas para mudar para Maria DB.

      😉

      1.    eliotime3000 dito

        E é por isso que me recuso a instalar o Java no meu Debian. Eu quase não uso o OpenJDK com IcedTea e ele faz maravilhas, e melhor que o Java.

      2.    3ndriago dito

        Bem, cara, tenho certeza de que você deve ter seus motivos para odiar a Oracle (cheira como aqueles que fazem você odiar a Microsoft, a Apple e até o Google), mas como a Oracle não fez nada comigo ... e acho que ia dar-lhe um SPARC para o seu aniversário XD

        1.    eliotime3000 dito

          Refere-se ao nível do software, não ao nível do hardware.

          1.    3ndriago dito

            Não, se a gente vai odiar, a gente odeia tudo, aquela meia medida não é legal ... hehehehehehe

          2.    elav. dito

            xDDD

  4.   st0rmt4il dito

    Obrigado elav, a propósito, é aconselhável ter ambos os servidores web e iniciados ao mesmo tempo?

    Saudações!

    1.    elav. dito

      Algumas pessoas usam o Apache como servidor da Web e o NGnix como proxy para solicitações da web. É uma bagunça. Por exemplo, ao usar Node.js, que usa uma porta traseira que ninguém usa e possivelmente seu ISP a bloqueou 😀

  5.   eliotime3000 dito

    Bom tutor de migração. Além disso, o Slackware migrou há muito tempo para o MariaDB para evitar mais confusão com o MySQL.

    Assim que estiver no repositório de segurança de backport do Debian, irei anunciá-lo o mais rápido possível. Por enquanto, estou montando meu tutorial sobre como instalar / configurar / personalizar o Slackware.

  6.   Jlbaena dito

    Mas o kde ainda depende do mysql (no debian) ou com esta migração não é mais necessário?

  7.   brunocáscio dito

    Então, pelo que entendi, cada aplicativo configurado com mysql não teria que reconfigurar nada dele? Basta instalar o MariaDB (e desinstalar o mysql) e manter os nomes como mysql deve funcionar?

    Em relação ao desempenho, são mencionadas as alterações do motor.
    Eles têm um desempenho excelente com o antigo MylSam e InnoDB?

    Alguém realizou alguma métrica?

      1.    brunocáscio dito

        Eu entendi haha, obrigado!

  8.   helena_ryuu dito

    Muito obrigado! agora, se está claro para mim; D

  9.   Javier dito

    Não foi possível definir a senha do usuário "root" do MariaDB

    │ Ocorreu um erro ao definir a senha do MariaDB │
    │ usuário administrativo. Isso pode ter acontecido porque a conta já │
    │ tem senha, ou devido a um problema de comunicação com o MariaDB │
    │ servidor. │
    │ │
    │ Você deve verificar a senha da conta após a instalação do pacote. │
    │ │
    │ Leia o arquivo /usr/share/doc/mariadb-server-10.1/README.Debian │
    │ para mais informações.

    1.    Javier dito

      Desinstalei os pacotes mariadb maridb-server
      Removi o diretório / var / lib / mysql.
      3 Reinstalado o Mariadb, pacotes do servidor Mariadb.
      systemct start mariadb; systemctl enable mariadb (problema resolvido).