Fazendo Backup no Banco de Dados MYSQL
Moderador: Moderadores
- 09466261000176
- Usuário Nível 1

- Mensagens: 39
- Registrado em: 19 Mar 2014 15:50
- Localização: lorena sp
Fazendo Backup no Banco de Dados MYSQL
Olá Pessoal. Estou querendo fazer backup do meu banco. Quero embutir em meu aplicativo o comando sql para tal evento. Comno fazer isso por dentro de meu programa? Usei este comando mas ele não funcionou.
mysqldump -u root -ppadrao --all-databases > backup_banco.sql
mysqldump -u root -ppadrao --all-databases > backup_banco.sql
- 09466261000176
- Usuário Nível 1

- Mensagens: 39
- Registrado em: 19 Mar 2014 15:50
- Localização: lorena sp
Fazendo Backup no Banco de Dados MYSQL
Não. Seria algo assim:
No fonte...
cQuery:="comando sql para executar a copia do banco"
sql execute ( cQuery )
Outra coisa estou usando WINDOWS 8.0 não LINUX
No fonte...
cQuery:="comando sql para executar a copia do banco"
sql execute ( cQuery )
Outra coisa estou usando WINDOWS 8.0 não LINUX
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Fazendo Backup no Banco de Dados MYSQL
Olá, veja se ajuda:
http://www.hardware.com.br/dicas/mysql.html
http://fivewin.com.br/index.php?/topic/ ... com-mysql/
abs,
http://www.hardware.com.br/dicas/mysql.html
http://fivewin.com.br/index.php?/topic/ ... com-mysql/
abs,
- 09466261000176
- Usuário Nível 1

- Mensagens: 39
- Registrado em: 19 Mar 2014 15:50
- Localização: lorena sp
Fazendo Backup no Banco de Dados MYSQL
Usar o MYSQLDUMP tudo bem consigo, porém o que quero é embutir dento de meu fonte comandos SQL para realizar esta operação. Não quero fazer isso por um .BAT nem direto na console do MYSQL. Fica mais elegante o próprio programa executar.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Fazendo Backup no Banco de Dados MYSQL
Olá!
Recentemente instalei o MySQL, seguindo um excelente tutorial postado pelo Toledo mas, ainda não iniciei meus testes com ele.
Tenho alguns testes feitos com SQL Server com ADO, onde crio um banco de dados e algumas tabelas no mesmo, que compartilho abaixo. Creio que eja possível adaptar isto para MySQL e acrescentar a rotina de backup.
Recentemente instalei o MySQL, seguindo um excelente tutorial postado pelo Toledo mas, ainda não iniciei meus testes com ele.
Tenho alguns testes feitos com SQL Server com ADO, onde crio um banco de dados e algumas tabelas no mesmo, que compartilho abaixo. Creio que eja possível adaptar isto para MySQL e acrescentar a rotina de backup.
Código: Selecionar todos
#include "ado.ch"
#include "box.ch"
#include "hbcompat.ch"
REQUEST HB_CODEPAGE_PTISO
STATIC oCn As Object
//------------------------------------------------------------------------------
INIT PROCEDURE AppInit()
LOCAL oErr As Object
LOCAL cCnString As Character
Altd()
RELEASE GetList
HB_CDPSELECT("PTISO")
Set( _SET_DATEFORMAT, "dd/mm/yyyy" )
SetMode(50,150)
SetBlink( .F. )
SetColor( "W+/N, N/W*" )
CLS
DispBox( 0,0,2, MaxCol(), Space(9), "W+/RB" )
DispBox( 3,0,MaxRow() - 1, MaxCol() * .25, Space(9), "N/N" )
DispBox( 3,(MaxCol() * .25) + 1,MaxRow(), MaxCol() , Space(9), "N/BG+" )
DispBox( MaxRow(), 0, MaxRow(), MaxCol(), Space(9), "N/W" )
DispOutAt( 1,0, PadC("Testando Harbour + ADO + SQL Server",MaxCol()), "W+/RB" )
Try
cCnString := "Provider=SQLNCLI10;Server=(Local);Database=Harbour;Uid=sa;Pwd=xyz;"
oCn := win_OleCreateObject("ADODB.Connection")
oCn:ConnectionString := cCnString
oCn:CursorLocation := adUseClient
oCn:Mode := adModeReadWrite
Catch oErr
Alert( "Não foi possível conectar ao banco de dados.;Erro: " + oErr:description, { " Fechar " } )
__Quit()
Finally
End
RETURN
//------------------------------------------------------------------------------
FUNCTION AppMain()
LOCAL oRs As Object
LOCAL oErr As Object
LOCAL cSql As Character
Altd()
Try
// Cria novo banco de dados, se não existir
oRs := ExecuteSQL( "SELECT IsNull( db_id('harbour'),0 ) As dbID" )
If ! oRs:Eof()
If oRs:fields("dbID"):value == 0
TEXT INTO cSql
CREATE DATABASE Harbour
ON
( NAME = Harbour_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Harbour.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Harbour_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Harbour.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
ENDTEXT
oCn:Open()
oCn:Execute( cSql )
Alert( "Banco de dados 'Harbour' criado com sucesso.",, "W+/B" )
Else
Alert( "Banco de dados 'Harbour' já existe e não pode ser criado novamente.",, "W+/B" )
Endif
Else
Alert( "RS vazio" )
Endif
TablesGenerator( ScriptGenerator() )
Alert( "O banco de dados da aplicação foi criado com sucesso: 'Harbour'.",, "W+/B" )
Catch oErr
If oErr != NIL
Alert(oErr:description)
Endif
Alert( "Ocorreram erros.;O banco de dados da aplicação não foi criado com sucesso: 'Harbour'.",, "W+/B" )
Finally
If oRs != NIL .And. oRs:state() == adStateOpen
oRs:Close()
Endif
If oCn:state() == adStateOpen
oCn:Close()
Endif
oRs := NIL
oCn := NIL
End
RETURN
//------------------------------------------------------------------------------
EXIT PROCEDURE AppExit()
HB_GCAll( .T. )
CLS
RETURN
//------------------------------------------------------------------------------
STATIC FUNCTION ExecuteSql( cSql )
LOCAL oRs As Object
LOCAL oErr As Object
LOCAL cCnString As Character
Try
oRs := win_OleCreateObject("ADODB.RecordSet")
With Object oRs
:activeConnection := oCn:connectionString
:cursorLocation := adUseClient
:cursorType := adOpenDynamic
:lockType := adLockOptimistic
:maxRecords := 100000
:cacheSize := 100
:source := cSql
:open()
End With
Catch oErr
Throw( oErr )
End
RETURN oRs
//------------------------------------------------------------------------------
STATIC FUNCTION TablesGenerator( aScripts )
LOCAL cSql As Character
LOCAL lRet As Logical
lRet := .F.
Try
oCn:Open()
For Each cSql In aScripts
oCn:Execute( cSql )
Next
lRet := .T.
Catch oErr
Throw( oErr )
Finally
If oCn:state() = adStateOpen
oCn:Close()
Endif
End
RETURN lRet
//------------------------------------------------------------------------------
STATIC FUNCTION ScriptGenerator()
LOCAL cSql As Character
LOCAL aRet As Array
aRet := {}
TEXT INTO cSql
USE [Harbour]
/****** Object: Table [dbo].[tbAddressType] Script Date: 09/04/2014 20:18:23 ******/
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
SET ANSI_PADDING ON
CREATE TABLE [dbo].[tbAddressType](
[idAddressType] [int] IDENTITY(1,1) NOT NULL,
[dsAddressType] [varchar](20) NOT NULL,
CONSTRAINT [XPKtbAddressType] PRIMARY KEY CLUSTERED
(
[idAddressType] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_PADDING OFF
ENDTEXT
AAdd( aRet, cSql )
//
TEXT INTO cSql
USE [Harbour]
/****** Object: Table [dbo].[tbCountry] Script Date: 09/04/2014 20:20:26 ******/
IF OBJECT_ID('dbo.tbNewItens', 'U') IS NULL
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
SET ANSI_PADDING ON
CREATE TABLE [dbo].[tbCountry](
[idCountry] [char](3) NOT NULL,
[dsCountry] [varchar](50) NOT NULL,
[idContinent] [char](1) NOT NULL,
[dsContinent] [varchar](50) NOT NULL,
CONSTRAINT [XPKtbCountry] PRIMARY KEY CLUSTERED
(
[idCountry] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_PADDING OFF
ENDTEXT
AAdd( aRet, cSql )
//
TEXT INTO cSql
/****** Object: Table [dbo].[tbCustomer] Script Date: 09/04/2014 19:56:51 ******/
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
SET ANSI_PADDING ON
CREATE TABLE [dbo].[tbCustomer](
[idCustomer] [int] IDENTITY(1,1) NOT NULL,
[dsEmail] [varchar](100) NULL,
[dsPassword] [varchar](50) NULL,
[dsPwdCrypto] [varchar](250) NULL,
[dsName] [varchar](200) NOT NULL,
[dsLastName] [varchar](250) NULL,
[dsNickName] [varchar](20) NULL,
[idProfile] [int] NOT NULL,
[dtCreated] [datetime] NOT NULL,
[dtLastLogin] [datetime] NULL,
[dtLastOrder] [datetime] NULL,
[fgReceiveEmail] [tinyint] NOT NULL,
[fgActiveLogin] [tinyint] NOT NULL,
[idVipCustomerMain] [varchar](40) NULL,
[dtModified] [datetime] NOT NULL,
[dtMadeInModified] [datetime] NULL,
[dtMadeInCreated] [datetime] NULL,
[fldCustomer] [tinyint] NOT NULL,
[fgReceiveEmailFormat] [tinyint] NOT NULL,
[dtSync] [datetime] NULL,
[bitEstrangeiro] [bit] NULL,
CONSTRAINT [PK_tbReseller] PRIMARY KEY CLUSTERED
(
[idCustomer] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_PADDING OFF
ALTER TABLE [dbo].[tbCustomer] ADD CONSTRAINT [DF_tbCustomer_fldCustomer] DEFAULT ((0)) FOR [fldCustomer]
ALTER TABLE [dbo].[tbCustomer] ADD CONSTRAINT [DF_tbCustomer_fgReceiveEmailFormat] DEFAULT ((0)) FOR [fgReceiveEmailFormat]
ALTER TABLE [dbo].[tbCustomer] ADD CONSTRAINT [DF_tbCustomer_bitEstrangeiro] DEFAULT ((0)) FOR [bitEstrangeiro]
ENDTEXT
AAdd( aRet, cSql )
//
TEXT INTO cSql
/****** Object: Table [dbo].[tbCustomerDetail] Script Date: 09/04/2014 19:58:46 ******/
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
SET ANSI_PADDING ON
CREATE TABLE [dbo].[tbCustomerDetail](
[idCustomer] [int] NOT NULL,
[dsCNPJ] [varchar](18) NULL,
[dsIE] [varchar](15) NULL,
[dsIM] [varchar](15) NULL,
[dsResponsible] [varchar](30) NULL,
[dsCpf] [varchar](15) NULL,
[dtBirthDate] [datetime] NULL,
[dsSex] [char](1) NULL,
[dsCelularPhone] [varchar](20) NULL,
[fgPfPj] [char](1) NOT NULL,
[dsRG] [varchar](25) NULL,
[dsPhoneDDD1] [varchar](5) NULL,
[dsPhone1] [varchar](30) NULL,
[dsBranchPhone1] [varchar](20) NULL,
[dsPhoneDDD2] [varchar](5) NULL,
[dsPhone2] [varchar](30) NULL,
[dsBranchPhone2] [varchar](20) NULL,
[dsPhoneDDD3] [varchar](5) NULL,
[dsPhone3] [varchar](30) NULL,
[dsBranchPhone3] [varchar](20) NULL,
[dsDispatcherAgency] [varchar](10) NULL,
[fgSMS] [tinyint] NOT NULL,
CONSTRAINT [PK_tbCustomerDetail] PRIMARY KEY CLUSTERED
(
[idCustomer] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_PADDING OFF
ALTER TABLE [dbo].[tbCustomerDetail] ADD CONSTRAINT [DF_tbCustomerDetail_fgSMS] DEFAULT ((0)) FOR [fgSMS]
ALTER TABLE [dbo].[tbCustomerDetail] WITH CHECK ADD CONSTRAINT [FK_tbCustomer_tbCustomerDetail] FOREIGN KEY([idCustomer])
REFERENCES [dbo].[tbCustomer] ([idCustomer])
ALTER TABLE [dbo].[tbCustomerDetail] CHECK CONSTRAINT [FK_tbCustomer_tbCustomerDetail]
ENDTEXT
AAdd( aRet, cSql )
//
TEXT INTO cSql
/****** Object: Table [dbo].[tbCustomerDeliveryAddr] Script Date: 09/04/2014 20:00:31 ******/
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
SET ANSI_PADDING ON
CREATE TABLE [dbo].[tbCustomerDeliveryAddr](
[idCustomerDeliveryAddr] [int] IDENTITY(1,1) NOT NULL,
[dsDestinationName] [varchar](200) NOT NULL,
[dsAddress] [varchar](80) NOT NULL,
[dsNumber] [varchar](10) NOT NULL,
[dsComplement] [varchar](30) NULL,
[dsZip] [varchar](10) NULL,
[dsCity] [varchar](40) NULL,
[dsDistrict] [varchar](40) NULL,
[idCustomer] [int] NOT NULL,
[idCountry] [char](3) NOT NULL,
[idState] [char](2) NOT NULL,
[dsReferenceAddress] [varchar](200) NULL,
[fgCustomerAddress] [tinyint] NOT NULL,
[fgMainAddress] [tinyint] NOT NULL,
[dsParentHood] [varchar](20) NULL,
[dsEmail] [varchar](100) NULL,
[dsProvince] [varchar](30) NULL,
[dsDeliveryName] [varchar](200) NULL,
[dsPhoneDDD1] [varchar](5) NULL,
[dsPhone1] [varchar](30) NULL,
[dsBranchPhone1] [varchar](20) NULL,
[dsPhoneDDD2] [varchar](5) NULL,
[dsPhone2] [varchar](30) NULL,
[dsBranchPhone2] [varchar](20) NULL,
[dsPhoneDDD3] [varchar](5) NULL,
[dsPhone3] [varchar](30) NULL,
[dsBranchPhone3] [varchar](20) NULL,
[idAddressType] [int] NULL,
[dtMadeInCreated] [datetime] NULL,
[dtMadeInModified] [datetime] NULL,
CONSTRAINT [PK_tbCustomerAddr] PRIMARY KEY CLUSTERED
(
[idCustomerDeliveryAddr] ASC
)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_PADDING OFF
ALTER TABLE [dbo].[tbCustomerDeliveryAddr] WITH CHECK ADD CONSTRAINT [FK_tbAddressType_tbCustomerDeliveryAddr] FOREIGN KEY([idAddressType])
REFERENCES [dbo].[tbAddressType] ([idAddressType])
ALTER TABLE [dbo].[tbCustomerDeliveryAddr] CHECK CONSTRAINT [FK_tbAddressType_tbCustomerDeliveryAddr]
ALTER TABLE [dbo].[tbCustomerDeliveryAddr] WITH CHECK ADD CONSTRAINT [FK_tbCountry_tbCustomDeliveryAddr] FOREIGN KEY([idCountry])
REFERENCES [dbo].[tbCountry] ([idCountry])
ALTER TABLE [dbo].[tbCustomerDeliveryAddr] CHECK CONSTRAINT [FK_tbCountry_tbCustomDeliveryAddr]
ALTER TABLE [dbo].[tbCustomerDeliveryAddr] WITH CHECK ADD CONSTRAINT [FK_tbCustomer_tbCustomerAddr] FOREIGN KEY([idCustomer])
REFERENCES [dbo].[tbCustomer] ([idCustomer])
ALTER TABLE [dbo].[tbCustomerDeliveryAddr] CHECK CONSTRAINT [FK_tbCustomer_tbCustomerAddr]
ENDTEXT
AAdd( aRet, cSql )
RETURN aRet
//------------------------------------------------------------------------------[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Fazendo Backup no Banco de Dados MYSQL
Amiguinho,
Veja se o MySQL aceita o comando:
Para restaurar:
Não uso ainda o MySQL mas sei que algum SQL tem estes comandos.
Veja se o MySQL aceita o comando:
Código: Selecionar todos
BACKUP DATABASE NomeDoDatabase TO DISK='C:\BACKUPS\NomeDoDatabase.bak'
Código: Selecionar todos
RESTORE DATABASE NomeDoDatabase FROM DISK='C:\BACKUPS\NomeDoDatabase.bak'
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Fazendo Backup no Banco de Dados MYSQL
Faço assim no MariaDb
Código: Selecionar todos
mysqldump --databases --routines --triggers asaprev -u root -p****** >> backupbanco\backupbanco.sql
::Execute( "mysqldump", "--databases --routines --triggers asaprev -u root -p***** >> backupbanco\backupbanco.sql ", .T. ) //faz dump do banco de dados
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Fazendo Backup no Banco de Dados MYSQL
Olá!
Como seria o comando para restore?
Como seria o comando para restore?
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Fazendo Backup no Banco de Dados MYSQL
Não existe comando SQL pra backup.09466261000176 escreveu:Usar o MYSQLDUMP tudo bem consigo, porém o que quero é embutir dento de meu fonte comandos SQL para realizar esta operação. Não quero fazer isso por um .BAT nem direto na console do MYSQL. Fica mais elegante o próprio programa executar.
Existem utilitários que fazem backup.
Ou faz no aplicativo uma chamada de um programa de backup, com o comando que ele precisa, ou cria toda uma rotina de backup no aplicativo.
O MySQLDump é um dos utilitários que fazem backup.
Pra fazer pelo aplicativo, vários comandos select *, um pra cada tabela, e mais pra stored procedures, views, etc.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/