Script para automatizar backup MySQL

Olá Amigos.

Recentemente tive que implementar o backup diário de uma base de dados  MySQL e decidi compartilhar o script para execução desta atividade.

A implementação é simples, após criado o script dentro da pasta do sistema, o mesmo foi adicionado na Crontab para rodar todos os dias a noite.

Obs: Abaixo deve ser substituído o nome  da base, usuario e senha.

Script:

#!/bin/bash

#################### SCRIPT PARA BACKUP MYSQL ####################

# Definindo parametros do sistema
echo " -- Definindo parametros do sistema ..."
DATE=`date +%Y-%m-%d`
MYSQLDUMP=/usr/bin/mysqldump
BACKUP_DIR=/backup
BACKUP_NAME=mysql-$DATE.sql
BACKUP_TAR=mysql-$DATE.tar

#Gerando arquivo sql
echo " -- Gerando Backup da base de dados em $BACKUP_DIR/$BACKUP_NAME ..."
$MYSQLDUMP NOMDABASE-u USUARIO -SENHA > $BACKUP_DIR/$BACKUP_NAME

# Compactando arquivo em tar
echo " -- Compactando arquivo em tar ..."
tar -cf $BACKUP_DIR/$BACKUP_TAR -C $BACKUP_DIR $BACKUP_NAME

# Excluindo arquivos desnecessarios
echo " -- Excluindo arquivos desnecessarios ..."
rm -rf $BACKUP_DIR/$BACKUP_NAME

cd $BACKUP_DIR || exit 1
for file in mysql*tar
do
[ $file = $BACKUP_TAR ] && continue
gzip $file
done

Agendamento das execuções (crontab)

Para editar o crontab do root, com o editor padrão do sistema:

$sudo crontab -e

O comando abaixo faz crontab executar o script /opt/scripts/backup_mysql.sh todos os dias da semana às 05 a.m.

00 05 * * * /opt/scripts/backup_mysql.sh

Bom amigos, qualquer problema ou duvida fico a disposição.

 

Continue Reading

Permitindo Acesso Remoto ao MariaDB

Olá amigos, satisfação em escrever novamente para vocês.

Dando continuidade ao nosso ultimo artigo na qual  mostra como instalar o MariaDB, hoje vamos ver como habilitar o acesso remoto para conexão com outros gerenciadores como o MySQL Workbench no MariaDB.

Inicialmente precisamos alterar o arquivo de configuração do banco para habilitar conexões remotas, no meu caso o arquivo de configuração fica em: /etc/mysql/mariadb.conf.d/50-server.cnf.

Comente a linha abaixo e salve o arquivo:

#bind-address = <some ip-address>

Agora vamos liberar o acesso do usuário com o comando abaixo, aonde temos que informar o usuário, ip do cliente e senha.

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.20' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;

Para validar a liberação você pode rodar a consulta abaixo que mostra as liberações existentes

SELECT User, Host FROM mysql.user WHERE Host <> 'localhost';

Retorno do comando:

+--------+-----------+
| User | Host |
+--------+-----------+
| daniel | % |
| root | 127.0.0.1 |
| root | 192.168.1.20 |
| root | ::1 |
| root | gandalf |
+--------+-----------+

Bom pessoal como vocês podem ver o processo é bem simples.

Qualquer problema ou duvida estou a disposição.

Continue Reading

Instalando o MariaDB no Ubuntu 17.04

Olá amigos, satisfação em escrever novamente para vocês.

Hoje veremos como é simples instalar o MariaDB a partir do repositório padrão do Ubuntu.

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

Utilizaremos o comando mysql_secure_installation para iniciar a instalação do servidor MariaDB.

sudo systemctl start mariadb
sudo mysql_secure_installation

Intervenção solicitada durante a instalação:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

 

Fazendo login como usuário root do MariaDB:

$ sudo mysql -u root -p

OU

# mysql -u root -p

Comandos para controlar o serviço MariaDB:

sudo systemctl start mariadb
sudo systemctl stop mariadb

Liberando a portal  do MariaDB no Firewall:

firewall-cmd --add-port=3306/tcp
firewall-cmd --permanent --add-port=3306/tcp

Bom pessoal com isso o nosso banco já está rodando.
No próximo artigo vamos ver como criar um owner e liberar acesso externo a base.

Qualquer duvida estou a disposição.

 

 

Continue Reading