fbpx

Javascript Desativado!

É necessário ativar o javascript do seu navegador para acessar!

Migrando do MySQL para MariaDB - Evertec Digital

Migrando do MySQL para MariaDB

Migre seu banco de dados MySQL para o MariaDB na sua instalação VPS Essencial LAMP Ubuntu 16.04. E tenha com essa mudança um banco de dados mais rápido, escalável e robusto.

Migrando do MySQL para MariaDB
0072
Compartilhe esse conteúdo!

Esse processo é opcional, mas muitos preferem utilizar o MariaDB como banco de dados, além de ser compatível com o MySQL, ele é mais robusto, escalável e seguro. Então aqui mostraremos como substituir o seu banco de dados MySQL pelo banco de dados MariaDB. Antes de executar esses passos é importante realizar o backup de todas a sua base de dado.

Os comandos abaixo foram verificados na distribuição linux Ubuntu 16.04.

1 – Antes de instalar o MariaDB, iremos consultar a versão atual, para isso será necessário ter a senha do banco de dados que está em /root/.digitalocean_password, abra o arquivo via FTP e copie a senha;

 

1.1  – Verifique o status do serviço:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
systemctl status mysql
systemctl status mysql
systemctl status mysql

 

1.2 – Para acessar o banco de dados execute:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysql -u root -p
mysql -u root -p
mysql -u root -p

 

1.2.1 – Em seguida insira a senha copiada apenas clicando com o botão direito do mouse e em seguida tecle Enter;

 

1.3 – Agora dentro do mysql digite o comando abaixo para ver a versão:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT VERSION() as mysql_version;
SELECT VERSION() as mysql_version;
SELECT VERSION() as mysql_version;

Irá apresentar o resultado semelhante abaixo:

1.4 – Agora saía do do mysql digitando exit.

2 – Desinstale o mysql, digitando o comando abaixo:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
apt-get purge mysql*
apt-get autoremove
apt-get autoclean
apt-get purge mysql* apt-get autoremove apt-get autoclean
apt-get purge mysql*
apt-get autoremove
apt-get autoclean

 

3 – Verifique se foi realmente desinstalado, consultado novamente o serviço.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
systemctl status mysql
systemctl status mysql
systemctl status mysql

Deverá retornar o resultado semelhante abaixo:

Instalando o MariaDB

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
apt-get update
apt-get install mariadb-server
apt-get update apt-get install mariadb-server
apt-get update
apt-get install mariadb-server

 

1 – Acesse novamente o banco de dados para consultar a versão:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysql -u root -p
mysql -u root -p
mysql -u root -p

A senha ainda é a mesma do inicio do tutorial, basta colar e teclar Enter.

Agora dentro do mysql digite o comando abaixo para ver a versão:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT VERSION() as mysql_version;
SELECT VERSION() as mysql_version;
SELECT VERSION() as mysql_version;

 

2 – A fim de garantir que estamos trabalhando com a versão mais atual do banco de dados, iremos tentar realizar o upgrade da instalação, para isso, antes saia do mariadb, digitando exit, depois digite o comando abaixo:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysql_upgrade
mysql_upgrade
mysql_upgrade

 

Se não houver atualizações a serem feitas, irá aparecer uma mensagem informando que já está com a versão mais recente do SGBD:

Melhorando os Limites do mysql

Provavelmente você já enfrentou problemas bizarros de conexão com banco de dados em hospedagem compartilhada. Isso ocorre porque o banco de dados tem um limite padrão para abertura de registros simultâneos, que quando ultrapassado, simplesmente para o serviço. A fim de evitar que esse problema ocorra em nossa VPS,  iremos aumentar esse limite.

Em todas as modificações de arquivo, deixe uma linha em branco no final do arquivo.

1 –  Consulte o limite atual:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ulimit -a
ulimit -a
ulimit -a

2 – Execute o comando abaixo para verificar o limite de arquivos abertos. Será necessário fornecer a senha do banco de dados.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysql -u root -p --execute='show variables like "open_files_limit"'
mysql -u root -p --execute='show variables like "open_files_limit"'
mysql -u root -p --execute='show variables like "open_files_limit"'

 

3.1 – Acesse o arquivo limits.conf

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano /etc/security/limits.conf
nano /etc/security/limits.conf
nano /etc/security/limits.conf

 

3.2 – Adicione as linhas abaixo, logo acima do fechamento do arquivo :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysql soft nofile 24000
mysql hard nofile 32000
# End of file
mysql soft nofile 24000 mysql hard nofile 32000 # End of file
mysql soft nofile 24000
mysql hard nofile 32000

# End of file

 

4.1 – Acesse o arquivo common-session

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano /etc/pam.d/common-session
nano /etc/pam.d/common-session
nano /etc/pam.d/common-session

 

4.2 – Adicione a linha abaixo logo no final:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
session required pam_limits.so
session required pam_limits.so
session required pam_limits.so

 

5.1 – Acesse o arquivo my.cnf 

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano /etc/mysql/my.cnf
nano /etc/mysql/my.cnf
nano /etc/mysql/my.cnf

 

5.2 – adicione as informações abaixo, no final do arquivo

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[mysqld_safe]
open_files_limit = 65536
[mysqld]
open_files_limit = 65536
[mysqld_safe] open_files_limit = 65536 [mysqld] open_files_limit = 65536
[mysqld_safe]
open_files_limit = 65536

[mysqld]
open_files_limit = 65536

 

6 – Reinicie o mysql:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/etc/init.d/mysql restart
/etc/init.d/mysql restart
/etc/init.d/mysql restart

 

7 – Verifique novamente os limites. Será necessário fornecer a senha do banco de dados.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mysql -u root -p --execute='show variables like "open_files_limit"'
mysql -u root -p --execute='show variables like "open_files_limit"'
mysql -u root -p --execute='show variables like "open_files_limit"'

 

Reiniciando o Banco Automaticamente

Quando existe uma carga muito grande no servidor, seja por ataque, site que demanda muito processamento, por medida de segurança alguns serviços são desativados automaticamente, curiosamente o MySQL é um dos serviços a ser desativados. Embora em nossa sequencia de tutoriais já tenhamos adicionado a memória SWAP, iremos adicionar mais esse recurso para manter o seu servidor estável e livre de problemas.

1.1 – Crie um arquivo de monitoramento e permita que somente o root possa alterar e executar.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
touch /root/monitor-bd
chmod 700 /root/monitor-bd
touch /root/monitor-bd chmod 700 /root/monitor-bd
touch /root/monitor-bd
chmod 700 /root/monitor-bd

 

1.2 – Abra o arquivo criado com o editor nano

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano /root/monitor-bd
nano /root/monitor-bd
nano /root/monitor-bd

 

1.3 – Adicione o conteúdo abaixo, salve e saia:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/bin/bash
# Reinicia o MySQL em caso de desligamento
# Ajuda com os comparativos de if: man 1 test
UPMYSQL=$(lsof -i :3306 | grep mysql | wc -l);
if [ "$UPMYSQL" -le 0 ];
then
/etc/init.d/mysql restart
fi
#!/bin/bash # Reinicia o MySQL em caso de desligamento # Ajuda com os comparativos de if: man 1 test UPMYSQL=$(lsof -i :3306 | grep mysql | wc -l); if [ "$UPMYSQL" -le 0 ]; then /etc/init.d/mysql restart fi
#!/bin/bash
# Reinicia o MySQL em caso de desligamento
# Ajuda com os comparativos de if: man 1 test

UPMYSQL=$(lsof -i :3306 | grep mysql | wc -l);
if [ "$UPMYSQL" -le 0 ];
then
 /etc/init.d/mysql restart
fi

 

2 – Efetue o teste manualmente

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/root/monitor-bd
/root/monitor-bd
/root/monitor-bd

 

3.1 – Adicione um agendamento no cron para verificar a cada 5 minutos

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
crontab -e
crontab -e
crontab -e

 

3.2 – Na ultima linha, adicione, depois salve e saia:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
*/5 * * * * /root/monitor-bd
*/5 * * * * /root/monitor-bd
*/5 * * * * /root/monitor-bd

 

Esse agendamento fará executara uma verificação do status do banco de dados a cada 5 minutos.

Pronto! Seu banco de dados está preparado para trabalhar com alta performance!

Agora é a hora de instalar o seu primeiro projeto!


Compartilhe esse conteúdo!
Tags do Post:

Conheça nossos cursos

Cursos de Desenvolvimento Web para você elevar ainda mais as suas habilidades profissionais!

Conheça nossos cursos

Conteúdos Relacionados

Veja alguns conteúdos que também podem lhe interessar.

Mais Populares

Veja os nossos conteúdos mais acessados.