Question

Je l'ai créé une base de données MySQL en utilisant MySQL Workbench. Il a environ 20 tables. Je ne peux pas comprendre comment exécuter des scripts sur la base de données.

En fait, je veux faire un script de création de base de données qui me permettra de créer ma base de données sur un autre serveur MySQL.

Était-ce utile?

La solution

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 ...

Mettre que dans un fichier appelé mydbcreate.sql et exécuter (à partir de la ligne de commande)

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

Autres conseils

Connaître les utilitaires de ligne de commande de MySQL est utile et important, mais pour effectuer des tâches courantes utilisent un outil d'administration de base de données, tels que phpMyAdmin, pour créer et gérer vos bases de données. Ces outils rendent extrêmement facile de créer et parcourir les tables, créer des scripts d'exportation (un fichier avec toutes les requêtes pour créer des tableaux, insérer des données, etc ...), et d'autres grandes choses.

phpMyAdmin est grand, court et environnement LAMP, est gratuit et facile à utiliser.

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

Screeny d'exporter un db dans phpMyAdmin (recadrée shot) texte alt http://www.typolight.org/tl_files/images/documentation/sql-export.jpg

Voici quelques conseils:

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

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

Il ne génère un fichier avec des structures et des données. La deuxième ligne de prendre les données du fichier de la base de données.

Il n'y a pas d'espace entre -p et le mot de passe. Il serait préférable de ne pas mettre le mot de passe dans votre commande car cela peut se retrouver dans votre .bash_history. Si vous ne spécifiez pas le mot de passe, il sera invité à:

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

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

Peut-être ce que vous avez besoin est de savoir que ces déclarations sont appelés LDD? Ensuite, vous pouvez aller à un site MySQL et demander comment générer DDL? Ne pas être sarcastique, juste dire. . .

En outre, vous pouvez essayer ceci:

mysqldump utilisation de la ligne de commande avec l'option --no-data. Demandez de l'aide si besoin de plus d'informations. Mais un exemple simple serait:

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

(bien sûr, sans les accolades)

Vous avez deux options.

  1. Exporter un script CREATE que vous pouvez stocker et / ou exécuter arbitrairement sur un serveur MySQL
  2. Synchronisation avec un serveur MySQL spécifique directement.

Pour # 1, utilisez la commande de menu suivant

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

A partir de là, vous pouvez utiliser un programme comme MySQL GUI Tools ou voir les autres réponses dans ce fil pour importer le script SQL généré à partir de la ligne de commande.

Pour # 2, utilisez la commande de menu suivant

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

Avant de faire l'une de ces, vous pouvez établir une connexion d'abord par

Database >> Manage Connections...

Important! Pour ces deux options, assurez-vous que vous regardez attentivement toutes les options disponibles dans les messages - petits réglages peuvent faire un grand changement dans la sortie

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top