Я использую базу данных MySql с Java-программой, теперь я хочу передать программу кому-то другому.
Как экспортировать структуру базы данных MySql без данных, только структура?
Я использую базу данных MySql с Java-программой, теперь я хочу передать программу кому-то другому.
Как экспортировать структуру базы данных MySql без данных, только структура?
Ответы:
Вы можете сделать это с --no-data
помощью команды mysqldump
mysqldump -u root -p --no-data dbname > schema.sql
--single-transaction
опции, если вы не хотите или не можете делать блокировки таблиц.
CREATE DATABASE
команду. Чтобы включить, заменить dbname
на --databases dbname
(сокращение:) -B dbname
. Затем, чтобы импортировать на другой сервер, используйтеmysql -u root -p < schema.sql
Да, вы можете использовать mysqldump
с --no-data
опцией:
mysqldump -u user -h localhost --no-data -p database > database.sql
Вы также можете извлечь отдельную таблицу с --no-data
опцией
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
Вы можете использовать опцию -d с командой mysqldump
mysqldump -u root -p -d databasename > database.sql
Остерегайтесь, хотя эта опция --no-data не будет включать определение представления. Так что, если у вас был вид, подобный следующему, создайте представление v1, выберите a
. id
AS id
,
a
. created_date
AS created_date
от t1; с опцией --no-data определение представления будет изменено на следующее представление создания v1 выберите 1 AS id
, 1 AScreated_date
Вы можете использовать инструмент администратора MYSQL бесплатно http://dev.mysql.com/downloads/gui-tools/5.0.html
Вы найдете много вариантов экспорта базы данных MYSQL
В случае, если вы используете IntelliJ, вы можете включить представление базы данных (Вид -> Окно инструментов -> База данных)
В этом представлении подключитесь к вашей базе данных. Затем вы можете щелкнуть правой кнопкой мыши базу данных и выбрать «Копировать DDL». Другие IDE могут предлагать аналогичную функцию.
Если вы хотите вывести все таблицы из всех баз данных без данных (только базы данных и структуры таблиц), вы можете использовать:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
Это создаст файл .sql, который вы можете загрузить на сервер MySQL для создания новой базы данных. Вариантов использования для этого не так много в производственной среде, но я делаю это еженедельно для сброса серверов, которые связаны с демонстрационными веб-сайтами, поэтому, что бы ни делали пользователи в течение недели, в воскресные ночи все возвращается к «новому»: )
shell> mysqldump --no-data --routines --events test> dump-defs.sql
mysqldump
это лучший ответ. MySQL Administrator заброшен, и MySQL Workbench все еще довольно глючит.