Pergunta

Eu criei um banco de dados MySQL usando o MySQL Workbench. Tem cerca de 20 tabelas. Não consigo descobrir como executar scripts no banco de dados.

Basicamente, quero fazer um script de criação de banco de dados que me permitirá criar meu banco de dados em qualquer outro servidor MySQL.

Foi útil?

Solução

create database mydatabase;

grant all on mydatabase.* to 'myuser'@'%' identified by 'mypasswd';

create table mytable (
id int not null auto_increment,
myfield varchar(255) not null default ''
);

etc ...

Coloque isso em um arquivo chamado mydbcreate.sql e execute (da linha de comando)

mysql -u <myuser> -p < mydbcreate.sql

Outras dicas

Conhecer os utilitários de linha de comando MySQL é útil e importante, mas para executar tarefas comuns, use uma ferramenta de administração de banco de dados, como o PHPMyadmin, para criar e gerenciar seus bancos de dados. Essas ferramentas tornam extremamente fácil criar e navegar tabelas, criar scripts de exportação (um arquivo com todas as consultas para criar tabelas, inserir dados, etc ...) e outras ótimas coisas.

A phpmyadmin é ótima, entra e ambiente de lâmpada, é gratuita e fácil de usar.

http://www.phpmyadmin.net/home_page/index.php

Screeny de exportar um dB em phpmyadmin (tiro cortado)TEXTO DE ALT HTTP://www.typolight.org/tl_files/images/documentation/sql-export.jpg

Aqui estão algumas dicas:

mysqldump -u [username] -p[password] [databasename] > [backupfile.sql]

E

mysql -u [username] -p[password] [database_to_restore] < [backupfile.sql]

Ele gera um arquivo com estruturas e dados. A segunda linha pega os dados do arquivo para o banco de dados.

Não há espaço entre -p e a senha. Seria melhor não colocar a senha em seu comando, pois isso pode acabar no seu .bash_history. Se você omitir a senha, ela será solicitada:

mysqldump -u [username] -p [databasename] > [backupfile.sql]

E

mysql -u [username] -p [database_to_restore] < [backupfile.sql]

Talvez o que você precisa seja saber que essas declarações são chamadas de DDL? Então você pode ir a algum site MySQL e perguntar como gerar DDL? Não sendo sarcástico, apenas dizendo. . .

Além disso, você pode tentar o seguinte:

Use o MySqldump da linha de comando com a opção --no-dados. Peça ajuda se precisar de mais informações. Mas um exemplo simples seria:

$ mysqldump -u{username} -p{password} {dbname} --no-data

(Claro, sem os aparelhos encaracolados)

Você tem duas opções.

  1. Exportar um script de criação que você pode armazenar e/ou executar arbitrariamente em qualquer servidor MySQL
  2. Sincronize com um servidor MySQL específico diretamente.

Para #1, use o seguinte comando de menu

File >> Export >> Forward Engineer SQL CREATE Script...

A partir daqui, você pode usar um programa como as ferramentas MySQL GUI ou ver as outras respostas neste thread para importar o script SQL gerado a partir da linha de comando.

Para #2, use o seguinte comando de menu

Database >> Forward Engineer...
- or -
Database >> Synchronize Model...

Antes de fazer um desses, você pode estabelecer uma conexão primeiro via

Database >> Manage Connections...

Importante! Para ambas as opções, observe de perto todas as opções disponíveis nos avisos - pequenas configurações podem fazer uma grande alteração na saída!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top