backup para mysql
TRANSCRIPT
![Page 1: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/1.jpg)
Backup para Mysql
Criando rotinas utilizando a tasks do Windows e Cron do Linux
![Page 2: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/2.jpg)
Amanda Portela Graduada em Sistemas de Informação
Administradora de Banco de Dados
Trabalha na UOLDIVEO
Ja foi analista de Backup
![Page 3: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/3.jpg)
Backup Mysql Criando Rotina de Backup - Windows Criando Rotina de Backup - Linux Restaurar
![Page 4: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/4.jpg)
BACKUP Formas Tipos
![Page 5: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/5.jpg)
Formas de backup existente: FITA
Tabe LibraryTabe Library
Fita LTO
![Page 6: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/6.jpg)
Formas de backup existente: DISCO
Disk
Storage
![Page 7: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/7.jpg)
Backup Full x Backup Incremental
TIPOS DE BACKUP
![Page 8: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/8.jpg)
A retenção é o tempo que o dado ficará disponível para acesso/restore.
Quando o tempo aplicado expira, o dado é descartado.
RETENÇÃO
![Page 9: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/9.jpg)
MYSQL1. Sobre o Mysql
2. Mysqldump
![Page 10: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/10.jpg)
Sistema Gerenciador de Banco de Dados
Relacional
Tabelas: Linhas e Colunas
Linguagem SQL
Atualmente Versao 5.7
Mysql
![Page 11: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/11.jpg)
Mysqldump
É um utilitário do mytilizado para copiar os bancos de dados dos SGBDs para arquivo de
texto.Pode exportar uma tabela ou mais, um banco de dados ou todos os bancos de dados do servidor.
![Page 12: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/12.jpg)
Criando Rotina de Backup para o Mysql
1. Windows• Criando Script• Agendador de Tarefas (Tasks)• Configurando Rotina de Backup
![Page 13: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/13.jpg)
Script de backup: backup_diario.cmd@echo off set dbUser=root set dbPassword=sql!@# set backupDir="D:\mysql_daily_backups" set mysqldump="C:\Program Files\MySQL\MySQL Workbench 6.3 CE\mysqldump.exe" set mysqlDataDir="C:\ProgramData\MySQL\MySQL Server 5.7\Data" set mysql="C:\Program Files\MySQL\MySQL Server 5.7\bin"
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set dt=%%c%%a-%%b)For /f "tokens=1-4 delims=:." %%a in ('echo %time%') do (set tm=%%a%%b%)set dirName="%1 %dt% %tm%"
pushd %mysqlDataDir%
for /d %%f in (*) do (
if not exist %backupDir%\%dirName%\ ( mkdir %backupDir%\%dirName% )
%mysqldump% -opt -u%dbUser% -p%dbPassword% --databases %%f > %backupDir%\%dirName%\%%f.txt )
forfiles -p "%backupDir%" /s /m *.* -d -3 -c "cmd /c del @path"popd
![Page 14: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/14.jpg)
AGENDADOR DE TAREFAS
![Page 15: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/15.jpg)
CONFIGURANDO ROTINA DE BACKUP
![Page 16: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/16.jpg)
CONFIGURANDO ROTINA DE BACKUP
![Page 17: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/17.jpg)
CONFIGURANDO ROTINA DE BACKUP
![Page 18: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/18.jpg)
CONFIGURANDO ROTINA DE BACKUP
![Page 19: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/19.jpg)
CONFIGURANDO ROTINA DE BACKUP
![Page 20: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/20.jpg)
![Page 21: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/21.jpg)
Criando Rotina de Backup para o Mysql
1. LINUX• Criando Script• Comandos Úteis• Crontab• Configurando Rotina de Backup
![Page 22: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/22.jpg)
root@debian:/home/anunes/backup# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 175Server version: 5.5.52-0+deb8u1 (Debian)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;+--------------------------------+| Database |+--------------------------------+| information_schema || anunes || mysql || performance_schema || teste |+-------------------------------+5 rows in set (0.00 sec)
![Page 23: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/23.jpg)
Script de backup: backup_semanal.sh#!/bin/sh
TIMESTAMP=$(date +"%F-%H-%M")BACKUP_DIR="/home/anunes/backup"MYSQL_USER="root"MYSQL=/usr/bin/mysqlMYSQL_PASSWORD="sql!@#"MYSQLDUMP=/usr/bin/mysqldumpRETENTION="+2"LOG="/home/anunes/backup/$TIMESTAMP.log"LOG_DLT="/home/anunes/backup/$TIMESTAMP_deleted.log"
mkdir -p "$BACKUP_DIR/$TIMESTAMP"
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
for db in $databases; do $MYSQLDUMP --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db > "$BACKUP_DIR/$TIMESTAMP/$db.dmp"
sed -n '3p' $BACKUP_DIR/$TIMESTAMP/$db.dmp >> $LOGtail -1 $BACKUP_DIR/$TIMESTAMP/$db.dmp >> $LOGecho "==================================" >> $LOG
done
find $BACKUP_DIR* -mtime $RETENTION -exec rm -rf {} /; >> $LOG_DLT
![Page 24: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/24.jpg)
• mkdir = Permite criar diretório• > = Permite criar arquivo ex.: > arquivo.sh• >> = Insere uma linha no arquivo• vi /etc/crontab ou crontab -e = permite editar a crontab• crontab -l = Lista o que está configurado na crontab• esc + i = Permite inserir informaçoes ao arquivo - VI• :q! = Permite sair do arquivo sem salvar - VI• :wq! = Permite sair do arquivo e salvar as informações escritas - VI• chmod - Altera permissão de arquivo/diretório
COMANDOS ÚTEIS DO LINUX
![Page 25: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/25.jpg)
CRONTABCrontab é a tabela (arquivo) que contém as tarefas agendadas.Este arquivo é consultado pelo serviço CRON do sistema operacional, para iniciar as tarefas conforme agendamento
![Page 26: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/26.jpg)
root@debian:/home/anunes/backup# crontab -l
55 23 * * 0 /home/anunes/backup_semanal.sh07 22 * * 1-6 /home/anunes/backup_diario.sh
![Page 27: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/27.jpg)
root@debian:/home/anunes/backup# ls -ltrdrwxr-xr-x 2 root root 4096 Oct 3 22:08 2016-10-03-22-08-rw-r--r-- 1 root root 415 Oct 3 22:08 2016-10-03-22-08.log
root@debian:/home/anunes/backup# cat 2016-10-03-22-07.log-- Host: localhost Database: anunes-- Dump completed on 2016-10-03 22:07:01==========================================================-- Host: localhost Database: mysql-- Dump completed on 2016-10-03 22:07:01==========================================================-- Host: localhost Database: teste-- Dump completed on 2016-10-03 22:07:01==========================================================
root@debian:/home/anunes/backup# cd 2016-10-03-22-08root@debian:/home/anunes/backup/2016-10-03-22-08# ls -ltrtotal 548-rw-r--r-- 1 root root 1412 Oct 3 22:08 anunes.dmp-rw-r--r-- 1 root root 550963 Oct 3 22:08 mysql.dmp-rw-r--r-- 1 root root 1408 Oct 3 22:08 teste.dmp
![Page 28: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/28.jpg)
RESTAURAR
mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.dmp]
mysql -uroot -p teste < D:\mysql_daily_backups\10-2016 1900\teste.txt
mysql -uroot -p teste < /home/anunes/backup/2016-10-03-22-08/teste.dmp
*Para o import é mysql mesmo pessoal, desculpe a confusão*
![Page 29: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/29.jpg)
TEM BACKUP!!!
![Page 30: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/30.jpg)
REFERÊNCIAS
Mysqldump• http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
Mysql Download• http://www.mysql.com/downloads/
Linux• https://www.vivaolinux.com.br/
Windows Commands• http://www.computerhope.com/sethlp.htm
![Page 31: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/31.jpg)
backup_mysql_linux.sh.txt
backup_mysql_windows.cmd.txt
ANEXOS
![Page 32: Backup para mysql](https://reader035.vdocuments.net/reader035/viewer/2022081505/587cb3221a28ab38028b5195/html5/thumbnails/32.jpg)
CONTATO Email
LinkedIn• https://br.linkedin.com/in/amandanportela
Pagina .NetCoders - Facebook• https://www.facebook.com/DotNetCoders/
MeetUp .NetCoders• http://www.meetup.com/pt-BR/NetCoders/
Apresentação disponível em: http://pt.slideshare.net/AmandaNunesPortela