Como é que restauro um ficheiro de lixo do mysqldump?
deram-me um ficheiro de Base de dados MySQL que preciso de restaurar como base de dados na minha máquina do Windows Server 2008.
tentei usar o administrador MySQL, mas tive o seguinte erro:
Como faço isto funcionar?o ficheiro seleccionado foi gerado por mysqldump e não pode ser restaurado por aplicacao.
15 answers
Deve ser tão simples como executar isto:
mysql -u <user> -p < db_backup.dump
Se o dump for de uma única base de dados, poderá ter de adicionar uma linha no topo do ficheiro:
USE <database-name-here>;
Se foi uma descarga de muitas bases de dados, as declarações de uso já estão lá.
Para executar estes comandos, abra uma linha de comandos (no Windows) e cd
para a pasta onde está o mysql.exe
executável (poderá ter de dar uma vista de olhos por Ele, dependendo de como instalou o mysql, isto é, independente ou como parte de um package like WAMP). Uma vez que você está no diretório, você deve ser capaz de apenas digitar o comando como eu o tenho acima.
Se a base de dados que deseja restaurar já não existir, terá de a criar primeiro.
Na linha de comandos, se estiver na mesma pasta que contém o ficheiro descartado, use estes comandos (com substituições apropriadas):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
Você simplesmente precisa executar isto:
mysql -p -u[user] [database] < db_backup.dump
Se o dump contém várias bases de dados, deve omitir o nome da base de dados:
mysql -p -u[user] < db_backup.dump
Para executar esses comandos, abra um prompt de comando (no Windows) e cd
para o diretório onde o mysql.exe
executável (você pode ter que olhar em volta um pouco para ele, vai depender de como você instalou o mysql, i.e. independente ou como parte de um pacote como o WAMP). Uma vez que você está naquela diretoria, você deve ser capaz de apenas digitar o comando.
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
Olhe aqui-Passo 3 : desta forma não precisa da declaração de Utilização
Quando fazemos um ficheiro de dump com mysqldump
, o que ele contém é um script SQL grande para recriar o conteúdo da base de dados. Então, restauramo-lo usando o cliente de linha de comandos do MySQL:
mysql -uroot -p
(Onde root
é o nosso nome de utilizador administrativo para o MySQL), e uma vez ligado à base de dados precisamos de comandos para criar a base de dados e ler o ficheiro para ela:
create database new_db;
use new_db;
\. dumpfile.sql
Os detalhes irão variar de acordo com as opções que foram usadas ao criar o ficheiro dump.
Abrir o administrador do MySQL e ligar-se ao servidor
Seleccionar "catálogos" à esquerda
-
Carregue com o botão direito no botão inferior esquerdo e escolha "Criar um novo esquema"
Administrador MySQL http://img204.imageshack.us/img204/7528/adminsx9.th.gif ampliar a imagem
-
Nomeie o novo esquema (exemplo: "dbn")
Novo Esquema Do MySQL http://img262.imageshack.us/img262/4374/newwa4.th.gif ampliar a imagem
-
Abrir a linha de comandos do Windows (cmd)
Linha de comandos do Windows http://img206.imageshack.us/img206/941/startef7.th.gif ampliar a imagem
Mudar a pasta para a pasta de instalação do MySQL
-
Executar o comando:
mysql -u root -p dbn < C:\dbn_20080912.dump
... onde "root" é o nome do utilizador, " dbn " é o nome da base de dados, e "C:\dbn_20080912.dump " é o localização/nome do ficheiro do mysqldump .obter o ficheiro
A linha de comandos do 'dump' do MySQL restaura http://img388.imageshack.us/img388/2489/cmdjx0.th.gif ampliar a imagem
Divirtam-se!
Você pode tentar SQLyog ' Executar o programa SQL ' para importar os ficheiros sql / dump.
Se quiser ver o progresso do dump, tente isto:
Pv-i 1-p-t-e/path/to/sql | dump / mysql-u utilizador-P DATABASE_NAME
É claro que vai precisar de 'pv' instalado. Este comando funciona apenas em *nix.
./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
Como exemplo específico de uma resposta anterior:
Precisava de restaurar uma cópia de segurança para poder importá-la/migrá-la para o servidor SQL. Instalei o MySql apenas, mas não o registrei como um serviço ou adicionei-o ao meu caminho porque não tenho a necessidade de mantê-lo funcionando.
Usei o windows explorer para colocar o meu ficheiro no C:\code\dump.banco. Em seguida, abriu o MySql a partir do item do menu Iniciar. Criou o DB, então executou o comando source com o caminho completo como:
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
Execute o comando para entrar no DB
# mysql -u root -p
Indique a senha para o utilizador e depois crie um novo DB
mysql> create database MynewDB;
mysql> exit
E saiam.De acordo com isso.Executar este comando
# mysql -u root -p MynewDB < MynewDB.sql
Depois entrar no db e no tipo
mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit
É isso ........ A sua lixeira será restaurada de um DB para outro DB
Ou então há uma maneira alternativa para restaurar o dump
# mysql -u root -p
Depois entrar no db e no tipo
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
Usando um ficheiro de dump de 200MB criado no Linux para restaurar no Windows w / mysql 5.5, tive mais sucesso com o
source file.sql
Aproxima-te do MySQL rapidamente do que com o
mysql < file.sql
Aproximação na linha de comandos, que causou algum erro 2006 "server has gone away" (no windows)
Estranhamente, o serviço criado durante a instalação (mysql) refere-se a um my.ficheiro ini que não existia. Eu copiei o arquivo de exemplo" grande " para o meu.ini que eu já tinha modificado com o aconselhado aumento.Os meus valores são
[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
Não pode usar o menu Restaurar na administração do MySQL se a cópia de segurança não foi criada a partir daí. Mas vale a pena tentar. Se você optar por" ignorar erros " com a opção para isso, ele irá dizer que terminou com sucesso, embora ele saia claramente com apenas uma fração das linhas importadas...isto é com uma lixeira.
Um comando de linha para restaurar o SQL gerado de mysqldump
mysql -u <username> -p<password> -e "source <path to sql file>;"
Você também pode usar o menu Restaurar no Administrador MySQL. Você só tem que abrir o arquivo de backup, e em seguida, clique no botão Restaurar.