Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kochon

MYSQL - Não faz backup de bancos.

Recommended Posts

Ola, 

 

Tenho mysql 5.5.45 com 6 banco de daods, o script faz bakcup dos 4 bancos e de 2 bancos nao faz.

nome dos bancos:

bd1.status, 

bd2.inicio

bd3_core

bd4_toal

bd5_controle

bd6_1000

 

Notei que o script parou de fazer o backup desses bancos quando eles foram renomeados pelo desenvolvedor.

Notei que o banco bd1.status e bd2.inicio contem o ponto "." no nome, procurei uma documentação e descobri que nao é permitido o uso de "." ponto no nome no banco 

 

Se de fato esse é o problema, como devo fazer para que o meu script faça o bkp?

 

Aguardo..

 

Obrigado

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso, você deve procurar o desenvolvedor e pedir para alterar o nome do banco o no lugar do "." colocar um UNDERLINE "_" igual nos outros bancos de dados.

 

Passa seu script ai fazendo favor.

 

Att;

Gilberto Jr

Compartilhar este post


Link para o post
Compartilhar em outros sites
:: Auto MySQL Backup For Windows Servers By Matt Moeller  v.1.5
:: RED OLIVE INC.  - www.redolive.com

:: Follow us on twitter for updates to this script  twitter.com/redolivedesign
:: coming soon:  email admin a synopsis of the backup with total file size(s) and time it took to execute

:: FILE HISTORY ----------------------------------------------
:: UPDATE 11.7.2012  Added setup all folder paths into variables at the top of the script to ease deployment
:: UPDATE 7.16.2012  Added --routines, fix for dashes in filename, and fix for regional time settings
:: UPDATE 3.30.2012  Added error logging to help troubleshoot databases backup errors.   --log-error="c:\MySQLBackups\backupfiles\dumperrors.txt"
:: UPDATE 12.29.2011 Added time bug fix and remote FTP options - Thanks to Kamil Tomas 
:: UPDATE 5.09.2011  v 1.0 


:: If the time is less than two digits insert a zero so there is no space to break the filename

:: If you have any regional date/time issues call this include: getdate.cmd  credit: Simon Sheppard for this cmd - untested
:: call getdate.cmd

set year=%DATE:~6,4%
set day=%DATE:~0,2%
set mnt=%DATE:~3,2%
set hr=%TIME:~0,2%
set min=%TIME:~3,2%

IF %day% LSS 10 SET day=0%day:~1,1%
IF %mnt% LSS 10 SET mnt=0%mnt:~1,1%
IF %hr% LSS 10 SET hr=0%hr:~1,1%
IF %min% LSS 10 SET min=0%min:~1,1%

set backuptime=%year%-%mnt%-%day%-%hr%-%min%
echo %backuptime%

:: SETTINGS AND PATHS 
:: Note: Do not put spaces before the equal signs or variables will fail

:: Name of the database user with rights to all tables
set dbuser=

:: Password for the database user
set dbpass=

:: Error log path - Important in debugging your issues
set errorLogPath="O:\Backups\MySQLBackups\backupfiles\LogError_%backuptime%.txt"

:: MySQL EXE Path
set mysqldumpexe="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe"

:: Error log path
set backupfldr="F:\COBIAN-mysql-backup\"

:: Path to data folder which may differ from install dir
set datafldr="C:\ProgramData\MySQL\MySQL Server 5.5\data"

:: Path to zip executable
set zipper="O:\Backups\MySQLBackups\zip\7za.exe"

:: Number of days to retain .zip backup files 
set retaindays=7

:: DONE WITH SETTINGS

:: GO FORTH AND BACKUP EVERYTHING!

:: Switch to the data directory to enumerate the folders
pushd %datafldr%

echo "Pass each name to mysqldump.exe and output an individual .sql file for each"

:: Thanks to Radek Dolezel for adding the support for dashes in the db name
:: Added --routines thanks for the suggestion Angel

:: turn on if you are debugging
@echo off

FOR /D %%F IN (*) DO (

IF NOT [%%F]==[performance_schema] (
SET %%F=!%%F:@002d=-!
%mysqldumpexe% --user=%dbuser% --password=%dbpass% --databases --routines --log-error=%errorLogPath% %%F > "%backupfldr%%%F.%backuptime%.sql"
) ELSE (
echo Skipping DB backup for performance_schema
)
)

echo "Zipping all files ending in .sql in the folder"


:: .zip option clean but not as compressed
%zipper% a -tzip "%backupfldr%FullBackup.%backuptime%.zip" "%backupfldr%*.sql"


echo "Deleting all the files ending in .sql only"
 
del "%backupfldr%*.sql"

echo "Deleting zip files older than 30 days now"
Forfiles -p %backupfldr% -s -m *.* -d -%retaindays% -c "cmd /c del /q @path"


::FOR THOSE WHO WISH TO FTP YOUR FILE UNCOMMENT THESE LINES AND UPDATE - Thanks Kamil for this addition!

::cd\[path to directory where your file is saved]
::@echo off
::echo user [here comes your ftp username]>ftpup.dat
::echo [here comes ftp password]>>ftpup.dat
::echo [optional line; you can put "cd" command to navigate through the folders on the ftp server; eg. cd\folder1\folder2]>>ftpup.dat
::echo binary>>ftpup.dat
::echo put [file name comes here; eg. FullBackup.%backuptime%.zip]>>ftpup.dat
::echo quit>>ftpup.dat
::ftp -n -s:ftpup.dat [insert ftp server here; eg. myserver.com]
::del ftpup.dat

echo "done"

::return to the main script dir on end
popd


 

Compartilhar este post


Link para o post
Compartilhar em outros sites
8 minutos atrás, Gilberto Jr disse:

Nesse caso, você deve procurar o desenvolvedor e pedir para alterar o nome do banco o no lugar do "." colocar um UNDERLINE "_" igual nos outros bancos de dados.

 

Passa seu script ai fazendo favor.

 

Att;

Gilberto Jr

Pois é.. o desenvolvedor  não existe mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é, que se você trocar o nome do banco de dados.... pode ocorrer problemas no site pois teria que mudar o nome do banco de dados nos arquivos de conexão com o banco de dados.

 

Att;
Gilberto Jr;

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, não gostaria de mudar o nome pois vai impactar em muita programação, pois não é somente um site, é um sistema  mais complexo.

 

Fiz um teste  fazendo o BKP somente de um banco e funcionou perfeitamente.

 

mysqldump  -h localhost -u user_bd1 -p --databases = bd1.status  > teste.sql

 

Pergunto, 

È de fato o problema com o ponto no nome da base?

 

quando executo o script retorna o seguinte erro:

mysqldump: Got error: 1049: Unknown database '%f' when selecting the database
mysqldump: Got error: 1049: Unknown database '%f' when selecting the database

 

Alguém alguma ideia?

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.