Frage

Ich habe eine MySQL-Datenbank MySQL Workbench erstellt. Es hat ca. 20 Tische. Ich kann nicht herausfinden, wie Skripte auf der Datenbank ausgeführt werden.

Grundsätzlich möchte ich eine Datenbankerstellung Skript machen, die mir erlauben, zu meiner Datenbank auf einem anderen MySQL-Server zu erstellen.

War es hilfreich?

Lösung

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

Setzen Sie, dass in einer Datei namens mydbcreate.sql und run (von der Kommandozeile)

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

Andere Tipps

Die Kenntnis der mysql-Dienstprogramme Befehlszeile ist nützlich und wichtig, aber für die Ausführung gemeinsamer Aufgaben verwenden, um eine Datenbank-Administration-Tool wie phpMyAdmin, zu erstellen und Datenbanken zu verwalten. Diese Tools machen es extrem einfach & browse Tabellen zu erstellen, erstellen Export-Skripts (eine Datei mit allen Abfragen auf Tabellen zu erstellen, Daten einfügen, etc ...) und andere große Dinge.

phpMyAdmin ist groß, läuft in und LAMP-Umgebung, ist kostenlos und einfach zu bedienen.

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

Screeny einen db in phpMyAdmin Export (abgeschnitten Schuss) alt text http://www.typolight.org/tl_files/images/documentation/sql-export.jpg

Hier sind einige Hinweise:

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

Und

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

Es hat eine Datei mit Strukturen und Daten erzeugen. Die zweite Zeile nimmt die Daten aus der Datei in die Datenbank.

Es gibt keinen Raum zwischen -p und dem Passwort ein. Es wäre besser, das Passwort nicht in Ihrem Befehl zu setzen, wie dies in Ihrem .bash_history landen kann. Wenn Sie das Kennwort weglassen wird es aufgefordert werden:

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

Und

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

Vielleicht, was Sie brauchen, ist zu wissen, dass diese Aussagen DDL genannt werden? Dann können Sie zu jeder MySQL-Website gehen und fragen, wie DDL zu generieren? Nicht snarky zu sein, nur zu sagen. . .

Auch Sie können versuchen, diese:

Verwendung mysqldump von der Kommandozeile mit der --no-Datenoption. Bitten Sie um Hilfe, wenn weitere Informationen benötigen. Aber ein einfaches Beispiel wäre:

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

(natürlich ohne die geschweiften Klammern)

Sie haben zwei Möglichkeiten.

  1. Exportieren ein Skript erstellen, die Sie speichern und / oder beliebig laufen auf jedem MySQL-Server
  2. Synchronisieren mit einem bestimmten MySQL-Server direkt.

# 1 Verwenden Sie den folgenden Menübefehl

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

Von hier aus können Sie ein Programm wie MySQL GUI Tools verwenden oder die anderen Antworten in diesem Thread finden Sie in dem generierten SQL-Skript von der Befehlszeile zu importieren.

# 2 Verwenden Sie den folgenden Menübefehl

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

Bevor Sie eine dieser zu tun, möchten Sie vielleicht eine Verbindung aufzubauen zunächst über

Database >> Manage Connections...

Wichtig! Für beide Optionen, stellen Sie sicher, dass Sie genau auf jede Option in den Aufforderungen zur Verfügung aussehen - kleine Einstellungen eine große Veränderung in der Ausgabe machen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top