Ir para conteúdo

Arquivado

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

ÒZ Junior

exportar banco mysql

Recommended Posts

Olá amigo!Estou fazendo a msm coisa porém com alguns ajustes.Eu acho que você ker um comando q faça isso direto, e esse comando eu nao sei.Oq eu fiz foi uma procedure que primeiro clona todas as tabelas e depois insere os dadoscreate procedure clona_bd()begindeclare table text;declare tables cursor for show tables from bd_real;open tables;loopfetch tables into table;set @comando = concat('create table IF NOT EXISTS bd_clone.',table,' like bd_real.',table );prepare qry from @comando;execute qry;end loopclose table;end;Em seguida eu criei uma procedure que vai alimentar esse banco_clonecreate procedure alimenta_clona_bd()begindeclare table text;declare tables cursor for show tables from bd_clone;open tables;loopfetch tables into table;set @comando = concat('insert into bd_clone.',tabela,' select * from bd_real.',tabela');prepare qry from @comando;execute qry;end loopclose table;end;Caso eu descubra como que faz um log apenas com um comando eu te aviso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo novamente,

 

Eu to tao viciada no que eu tenho q fazer que me esqueci:

Existe um comando chamado mysqldump

você deve dar esse comando em uma tela como o konsole.

mysqldump -h localhost -u root -p bancodedados > c:\estoque.sql;

 

você indica o diretorio e o nome do backup q você quer salvar, que deve ser do tipo .sql

 

Espero que de certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na mesma maquina

utilizando o seguinte código:

mysqldump -h 127.0.0.1 -u root -p cadastrocca> c:\backup.sql;

 

 

Erro:

mysql> mysqldump -h 127.0.0.1 -u root -p cadastrocca> c:\backup.sql;ERROR:Unknown command '\b'.ERROR 1064 (42000): You have an error in your SQL syntax; check the mcorresponds to your MySQL server version for the right syntax to usedump -h 127.0.0.1 -u root -p cadastrocca> c:\backup.sql' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, saquei!!!

 

Você está executando o mysqldump dentro do mysql client!! ehehehe, seguinte, os executáveis ou aplicativos do mysql funcionam em linha de comando, mas são aplicativos ao nível do sistema operacional, basta você abrir o prompt do windows e digitar o comando e não dentro do mysql client, ok?

 

Assim:

 

mysql> exitByeC:\Documents and Settings\usuario>mysqldump -u root -p <nome_do_banco> > <nome_do_arquivo.sql>

...perceba que eu saí do mysql client com o exit e voltei para o prompt do sistema operacional e dei o comando para fazer o backup, entendido??

Quando o banckup é local, não precisa do -h.

 

Refaça os testes!!

 

Abração!! Deus te abençõe! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim. . .de fato o backup do mysql feito com esta ferramenta, o mysqldump, monta um arquivo com toda a estrutura do banco de dados em formas de tabelas e no próprio arquivo, ele gerencia algumas declarações de ALTER TABLE e LOCKS nas tabelas para controlar os INSERT's, que são os dados de cada tabela.

 

Dependendo da opção que você utilizar com o comando para o mysqldump, ele reagirá de forma diferente. A opção mais completa é o --opt, que traz um dump mais fácil de ser restaurado pelo MySQL.

 

Falando em php, para mostrar mais ou menos o que acontece basicamente, rode aí na sua máquina esse script (fiz rapidamente só para ilustrar, não se trata de um script php para backup):

 

PHP
mysql_connect('localhost', 'root');

        mysql_select_db('mysql');

 

        $sqlGetTabelas = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA ='mysql'";

        $conGetTabelas = mysql_query($sqlGetTabelas) or die (mysql_erorr());

        while ($row = mysql_fetch_row($conGetTabelas)) {

 

                echo $row[0] . "<br><br>";

 

                $arrayTabelas = array($row[0]);

 

                foreach($arrayTabelas as $key => $values) {

 

                        $sqlData = "SELECT * FROM " . $values;

                        $conData = mysql_query($sqlData) or die (mysql_error);

                        while ($row = mysql_fetch_row($conData)) {

                                echo "<pre>";

                                print_r($row);

                                echo "</pre>";

                        }

                }

        }

 

...note que teremos vários arrays com os dados das tabelas, cada array pertence a uma tabela, sendo assim, ele itera entre estes arrays para cada tabela e manta os INSERTS. :rolleyes:

 

Para checar as opções do mysqldump, leia isto: http://forum.imasters.com.br/index.php?showtopic=252876

 

Um abraço e qualquer dúvida, continue postando!! Deus te abençõe!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá William,

 

a sua conta é nova no forum, entretanto,

os dois únicos posts que fez caracterizam-se como spam.

 

esteja cientes das normas do forum.

 

 

t+

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.