ฉันกำลังใช้ฐานข้อมูล 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
ดัมพ์โดยไม่ใช้เอาต์พุต
mysqldump --no-data <database name> --result-file=schema.sql
ระวังแม้ว่าตัวเลือก - ไม่มีข้อมูลจะไม่รวมคำจำกัดความของมุมมอง ดังนั้นถ้าโยมีมุมมองเช่นต่อไปนี้สร้างมุมมอง V1 a
เลือก id
AS ,id
เป็น
จาก t1; ด้วยตัวเลือก - ไม่มีข้อมูลนิยามของมุมมองจะถูกเปลี่ยนเป็นสร้างมุมมอง v1 เลือก 1 AS , 1 ASa
created_date
created_date
id
created_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 เพื่อสร้างฐานข้อมูลใหม่ ใช้กรณีนี้มีไม่มากในสภาพแวดล้อมการผลิต แต่ฉันทำแบบนี้ทุกสัปดาห์เพื่อรีเซ็ตเซิร์ฟเวอร์ที่เชื่อมโยงกับเว็บไซต์ตัวอย่างดังนั้นสิ่งที่ผู้ใช้ทำในระหว่างสัปดาห์ในคืนวันอาทิตย์ทุกอย่างย้อนกลับไปที่ "ใหม่": )
ในการรับสคริปต์การสร้างของแต่ละตาราง:
- เลือกตารางทั้งหมด (พร้อมปุ่ม Shift)
- เพียงคลิกขวาที่ชื่อตารางแล้วคลิกคัดลอกไปที่คลิปบอร์ด> สร้างคำสั่ง
เชลล์> mysqldump - no-data - รูทีน - กิจกรรมทดสอบ> dump-defs.sql
เพิ่มตัวเลือก - รูทีนและ - กิจกรรมเพื่อรวมรูทีนที่เก็บไว้และคำจำกัดความเหตุการณ์
mysqldump -u <user> -p --no-data --routines --events test > dump-defs.sql
คุณสามารถใช้วิธีการดังต่อไปนี้
mysqldump -d <database name> > <filename.sql> // -d : without data
หวังว่ามันจะช่วยคุณ
mysqldump
เป็นคำตอบที่ดีที่สุด ผู้ดูแลระบบ MySQL ถูกยกเลิกและ MySQL Workbench ยังค่อนข้างบั๊ก