Korzystam z bazy danych MySql z programem Java, teraz chcę przekazać program komuś innemu.
Jak wyeksportować strukturę bazy danych MySql bez danych, tylko strukturę?
Korzystam z bazy danych MySql z programem Java, teraz chcę przekazać program komuś innemu.
Jak wyeksportować strukturę bazy danych MySql bez danych, tylko strukturę?
Odpowiedzi:
Możesz to zrobić za pomocą --no-data
opcji mysqldump
mysqldump -u root -p --no-data dbname > schema.sql
--single-transaction
opcji, jeśli nie chcesz lub nie możesz wykonywać blokad tabel.
CREATE DATABASE
polecenia. Aby dołączyć, należy wymienić dbname
z --databases dbname
(skrót: -B dbname
). Następnie, aby zaimportować na inny serwer, użyjmysql -u root -p < schema.sql
Tak, możesz użyć mysqldump
z --no-data
opcją:
mysqldump -u user -h localhost --no-data -p database > database.sql
możesz również wyodrębnić indywidualny stół z --no-data
opcją
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
Możesz użyć opcji -d z poleceniem mysqldump
mysqldump -u root -p -d databasename > database.sql
Uważaj jednak, że opcja --no-data nie będzie zawierać definicji widoku. Więc jeśli masz widok podobny do następującego, utwórz widok v1 wybierz a
. id
AS id
,
a
. created_date
AS created_date
od t1; z opcją --no-data definicja widoku zostanie zmieniona na następującą Utwórz widok v1 wybierz 1 AS id
, 1 AScreated_date
Możesz użyć narzędzia MYSQL Administrator Tool za darmo http://dev.mysql.com/downloads/gui-tools/5.0.html
znajdziesz wiele opcji eksportu Twojej bazy danych MySQL
W przypadku korzystania z IntelliJ możesz włączyć widok bazy danych (Widok -> Okno narzędzi -> Baza danych)
Wewnątrz tego widoku połącz się z bazą danych. Następnie możesz kliknąć bazę danych prawym przyciskiem myszy i wybrać „Kopiuj DDL”. Inne IDE mogą oferować podobną funkcję.
Jeśli chcesz zrzucić wszystkie tabele ze wszystkich baz danych i bez danych (tylko struktury baz danych i tabel), możesz użyć:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
Spowoduje to utworzenie pliku .sql, który można załadować na serwer mysql w celu utworzenia nowej bazy danych. Przypadków użycia tego nie jest wiele w środowisku produkcyjnym, ale robię to co tydzień, aby zresetować serwery, które są połączone ze stronami demonstracyjnymi, więc cokolwiek użytkownicy robią w ciągu tygodnia, w niedzielne noce wszystko wraca do „nowego”: )
shell> mysqldump --no-data --routines - test zdarzeń> dump-defs.sql
mysqldump
to najlepsza odpowiedź. MySQL Administrator został porzucony, a MySQL Workbench jest nadal dość wadliwy.