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.
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.
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.