Por Diogo Santos para o Pplware
É neste Natal que vai comprar ou oferecer um Raspberry PI? Conheça a nossa promoção aqui
No seguimento do tutorial do servidor MySQL com a biblioteca XBMC vamos agora ensinar como configurar um backup automático da base de dados, no nosso caso um diário e outro mensal. Ensinaremos também a fazer uma pequena optimização da base de dados MySQL.
Convém salientar que optimizar uma base de dados MySQL é um processo complexo. É provavelmente a base de dados mais usado no mundo e é extremamente escalável. Este tutorial é dedicado ao XBMC e ao Raspberry Pi pelo que não aconselhamos a seguir o mesmo para outras bases de dados e outros servidores.
Activar o cron:
Abrir um terminal e executar:
sudo update-rc cron defaults
Inserir as regras no crontab:
Vamos então inserir duas regras de backup automático da base de dados MySql. A 1ª faz um backup diário ás 5 da manhã e a 2ª, um backup mensal, no primeiro dia do mês ás 6 da manhã:
crontab -e
Inserir no final do ficheiro:
00 05 * * * /usr/bin/mysqldump -u root -pavossapassword --all-databases > /media/nomedodisco/Backup/XBMC/all-database_daily.sql
00 06 1 * * /usr/bin/mysqldump -u root -pavossapassword --all-databases > /media/nomedodisco/Backup/XBMC/all-database_monthly.sql
Guardar e sair: CTRL+X, a seguir Y e depois Enter.
sudo service cron restart
Nas regras em cima, -pavossapassword é a vossa password de root do MySQL, de acordo com o escolheram no 1º passo do 1º tutorial. –p + password é tudo junto.
- /media/nomedodisco/Backup/XBMC/all-database_daily.sql é o local onde vai ficar o nosso backup. Neste caso é num disco usb externo ligado ao RPi. Alterem de acordo com o desejado.
- Podem claro alterar a hora, data, frequência do backup conforme desejarem, para isso consultem o manual do cron.
Optimizar o MySQL
Abrir um terminal e executar:
sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
sudo cp /usr/share/doc/mysql-server-5.5/examples/my-small.cnf /etc/mysql/my.cnf
sudo nano /etc/mysql/my.cnf
E adicionar as seguinte linha na parte [mysqld] :
query_cache_size = 16M
bind-address = 0.0.0.0
Reiniciar o serviço:
sudo service mysql restart
O que fizemos aqui foi usar um ficheiro de configuração diferente do original, que também vem incluído com o MySQL, optimizado para máquinas com pouca memória RAM. A seguir definimos 8 MB na memória RAM reservada às “query’s” para um acesso mais rápido.
Caso a vossa biblioteca não seja muito grande e queiram reduzir um pouco mais o consumo de memória RAM (útil por exemplo, se tiverem mais serviços activos no RPi) podem descomentar e/ou alterar as seguintes linhas no mesmo ficheiro:
query_cache_size = 8M
innodb_buffer_pool_size = 64M
innodb_log_buffer_size = 512K
E assim terminamos a nossa sugestão. É possível optimizar um pouco mais mas para isso têm de ter em conta o tamanho da vossa biblioteca / base de dados. Esperámos que tenham gostado.