Tôi đang sử dụng cơ sở dữ liệu MySql với chương trình Java, bây giờ tôi muốn cung cấp chương trình cho người khác.
Làm thế nào để xuất cấu trúc cơ sở dữ liệu MySql mà không có dữ liệu trong đó, chỉ là cấu trúc?
Tôi đang sử dụng cơ sở dữ liệu MySql với chương trình Java, bây giờ tôi muốn cung cấp chương trình cho người khác.
Làm thế nào để xuất cấu trúc cơ sở dữ liệu MySql mà không có dữ liệu trong đó, chỉ là cấu trúc?
Câu trả lời:
Bạn có thể làm với --no-data
tùy chọn với lệnh mysqldump
mysqldump -u root -p --no-data dbname > schema.sql
--single-transaction
tùy chọn nếu bạn không muốn hoặc không thể thực hiện khóa bảng.
CREATE DATABASE
lệnh. Để bao gồm, thay thế dbname
bằng --databases dbname
(tốc ký -B dbname
:). Sau đó, để nhập trên máy chủ khác, hãy sử dụngmysql -u root -p < schema.sql
Có, bạn có thể sử dụng mysqldump
với --no-data
tùy chọn:
mysqldump -u user -h localhost --no-data -p database > database.sql
bạn cũng có thể trích xuất một bảng riêng lẻ với --no-data
tùy chọn
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
Coi chừng mặc dù tùy chọn --no-data sẽ không bao gồm định nghĩa chế độ xem. Vì vậy, nếu bạn có một khung nhìn như sau, hãy tạo view v1 chọn a
. id
NHƯ id
,
a
. created_date
NHƯ created_date
từ t1; với tùy chọn --no-data, định nghĩa chế độ xem sẽ được thay đổi thành sau khi tạo chế độ xem v1 chọn 1 AS id
, 1 AScreated_date
Bạn có thể sử dụng Công cụ quản trị viên MYSQL miễn phí http://dev.mysql.com/doads/gui-tools/5.0.html
bạn sẽ tìm thấy nhiều tùy chọn để xuất MYSQL DataBase của bạn
Trong trường hợp bạn đang sử dụng IntelliJ, bạn có thể bật chế độ xem Cơ sở dữ liệu (Chế độ xem -> Cửa sổ Công cụ -> Cơ sở dữ liệu)
Bên trong khung nhìn đó kết nối với cơ sở dữ liệu của bạn. Sau đó, bạn có thể nhấp chuột phải vào cơ sở dữ liệu và chọn "Sao chép DDL". Các IDE khác có thể cung cấp một chức năng tương tự.
Nếu bạn muốn kết xuất tất cả các bảng từ tất cả các cơ sở dữ liệu và không có dữ liệu (chỉ có cấu trúc cơ sở dữ liệu và bảng), bạn có thể sử dụng:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
Điều này sẽ tạo ra một tệp .sql mà bạn có thể tải lên máy chủ mysql để tạo cơ sở dữ liệu mới. Các trường hợp sử dụng cho điều này không nhiều trong môi trường sản xuất, nhưng tôi làm điều này hàng tuần để thiết lập lại các máy chủ được liên kết với các trang web demo, vì vậy bất cứ điều gì người dùng làm trong tuần, vào các tối chủ nhật, mọi thứ đều quay trở lại "mới": )
shell> mysqldump --no-data --routines --events test> dump-defs.sql
Bạn có thể sử dụng phương pháp sau
mysqldump -d <database name> > <filename.sql> // -d : without data
Hy vọng nó sẽ giúp bạn
mysqldump
là câu trả lời tốt nhất. Quản trị viên MySQL bị bỏ rơi và MySQL Workbench vẫn còn khá nhiều lỗi.