ส่งออกฐานข้อมูลเดียวไปยังไฟล์ SQL
หากต้องการส่งออกฐานข้อมูล MySQL เดียวในไฟล์ SQL ให้ใช้ไวยากรณ์นี้:
mysqldump -u [ชื่อผู้ใช้] -p [ชื่อฐานข้อมูล] > [ชื่อไฟล์เอาต์พุต].sqlในไวยากรณ์ระบุชื่อผู้ใช้ MySQL ชื่อของฐานข้อมูลที่คุณต้องการส่งออกและชื่อไฟล์ SQL ใหม่ที่จะสร้างขึ้น มาดูตัวอย่างกัน สำหรับโพสต์นี้ ชื่อผู้ใช้คือ “ นพ ” ชื่อของฐานข้อมูลคือ “ ลินุกซ์ ” และชื่อไฟล์ SQL คือ “ export_db.sql” ดังนั้นคำสั่งจะกลายเป็น:
mysqldump -u md -p ลินุกซ์ฮินท์ > exported_db.sql
หากต้องการยืนยันว่าไฟล์ถูกสร้างขึ้นหรือไม่หลังจากดำเนินการคำสั่งก่อนหน้านี้ ให้รัน:
โดยที่ [ชื่อไฟล์เอาต์พุต]
บันทึก : ไวยากรณ์นี้จะใช้เพื่อตรวจสอบการมีอยู่ของไฟล์ SQL ที่สร้างขึ้นใหม่ตลอดทั้งโพสต์นี้
ผลลัพธ์จะแสดงว่าฐานข้อมูล MySQL ถูกส่งออกในไฟล์ SQL สำเร็จ:
ส่งออกฐานข้อมูลที่ระบุหลายรายการไปยังไฟล์ SQL
mysqldump ยังอำนวยความสะดวกในการส่งออกหลายฐานข้อมูลในไฟล์ SQL ไฟล์เดียวโดยใช้ ' – ฐานข้อมูล ' ธง. ไวยากรณ์สำหรับการส่งออกหลายฐานข้อมูลมีดังต่อไปนี้:
mysqldump -u [ชื่อผู้ใช้] -p --databases [db-name-1] [db-name-2] > [output-file-name].sql
หากคุณต้องการส่งออก “ 2 ” หรือฐานข้อมูลอื่นๆ ในไฟล์ ให้เว้นวรรคระหว่างชื่อ สำหรับโพสต์นี้ขอส่งออก ' ลินุกซ์ ' และ ' ใหม่ลินุกซ์ ” ฐานข้อมูลในไฟล์ชื่อ “ exported_db_databases.sq l” โดยพิมพ์คำสั่งนี้:
mysqldump -u md -p --databases linuxhint newlinuxhint > exported_db_databases.sqlเอาต์พุตที่ปราศจากข้อผิดพลาดบ่งชี้ว่าการดำเนินการของกระบวนการสำเร็จ ใช้ปุ่ม ' ที่ไหน ” คำสั่งเพื่อตรวจสอบว่าไฟล์ถูกสร้างขึ้นหรือไม่:
ฐานข้อมูลหลายรายการของคุณจะถูกส่งออกในไฟล์ MySQL ไฟล์เดียว
ส่งออกฐานข้อมูลทั้งหมดไปยังไฟล์ SQL
ผู้ใช้อาจรู้สึกว่าจำเป็นต้องส่งออกฐานข้อมูลทั้งหมดที่มีอยู่ในเซิร์ฟเวอร์ MySQL ไปยังไฟล์ SQL mysqldump ให้คุณทำได้โดยใช้ปุ่ม “ – ฐานข้อมูลทั้งหมด ' ธง. ไวยากรณ์ได้รับด้านล่าง:
mysqldump -u [ชื่อผู้ใช้] -p --all-databases > [output-file-name].sqlระบุชื่อผู้ใช้และชื่อของไฟล์ SQL สำหรับโพสต์นี้ ชื่อผู้ใช้คือ “ นพ ” และชื่อของไฟล์ SQL คือ “ exported_db_all_databases.sql ” ดังนั้นคำสั่งจะมีลักษณะดังนี้:
mysqldump -u md -p --all-databases > exported_db_all_databases.sqlผลลัพธ์แสดงว่าสร้างไฟล์สำเร็จแล้ว:
ส่งออกเฉพาะโครงสร้างของฐานข้อมูลไปยังไฟล์ SQL:
“ --ไม่มีวันที่ ” ค่าสถานะของ mysqldump ช่วยให้ผู้ใช้สามารถส่งออกเฉพาะโครงสร้างของฐานข้อมูลโดยไม่ต้องส่งออกข้อมูล ใช้ไวยากรณ์ที่ระบุด้านล่าง:
mysqldump -u [ชื่อผู้ใช้] -p --no-data [ชื่อฐานข้อมูล] > [ชื่อไฟล์เอาต์พุต] .sqlสำหรับโพสต์นี้ มาส่งออก “ ลินุกซ์ ” ฐานข้อมูลที่มีโครงสร้างเฉพาะในไฟล์ SQL “ exported_db_structure.sql ” โดยเรียกใช้คำสั่งนี้:
mysqldump -u md -p --no-data ลินุกซ์ฮินท์ > exported_db_structure.sqlในการตรวจสอบว่าไฟล์ถูกสร้างขึ้นหรือไม่:
ผลลัพธ์แสดงว่าสร้างไฟล์ SQL สำเร็จแล้ว
ส่งออกเฉพาะข้อมูลจากตารางที่ระบุไปยังไฟล์ SQL
ในบางครั้ง ผู้ใช้ต้องการส่งออกเฉพาะข้อมูลของตารางใดตารางหนึ่งโดยไม่มีข้อมูลของ “ สร้าง คำสั่ง ” เพื่อใช้ “ –ไม่สร้างข้อมูล ” ตั้งค่าสถานะใน mysqldump ดังที่แสดงในรูปแบบไวยากรณ์:
mysqldump -u [ชื่อผู้ใช้] -p [ชื่อฐานข้อมูล] [ชื่อตาราง] --no-create-info > [ชื่อไฟล์เอาต์พุต].sqlหากคุณต้องการส่งออกข้อมูลของ “ ผู้จัดหา ” ในไฟล์ SQL ชื่อ “ exported_db_specific_table.sql ” โดยเรียกใช้คำสั่งนี้:
mysqldump -u md -p ผู้จัดจำหน่าย linuxhint --no-create-info > exported_db_specific_table.sqlในการตรวจสอบว่าสร้างไฟล์สำเร็จหรือไม่ให้ใช้ปุ่ม “ ที่ไหน ' สั่งการ:
เอาต์พุตแสดงว่าสร้างไฟล์ SQL สำเร็จ
ส่งออกตารางที่ระบุหลายรายการไปยังไฟล์ SQL
สามารถใช้ mysqldump เพื่อส่งออกตารางที่ระบุหลายตารางโดยใช้ ' – โต๊ะ ” ตั้งค่าสถานะในไฟล์ SQL โดยใช้ไวยากรณ์นี้:
mysqldump -u [ชื่อผู้ใช้] -p [db-name] --tables [table-name1] [table-name2] > [output-file-name].sqlตัวอย่างเช่น หากผู้ใช้ต้องการส่งออก “ ผู้จัดหา ' และ ' รายการ ” ตารางจากฐานข้อมูล “ ลินุกซ์ ” ในไฟล์ SQL ชื่อ “ exported_db_specific_tables.sql ” เรียกใช้คำสั่งที่ระบุด้านล่าง:
mysqldump -u md -p linuxhint --tables รายการซัพพลายเออร์ > exported_db_specific_table2.sqlเอาต์พุตที่ปราศจากข้อผิดพลาดแสดงว่าคำสั่งดำเนินการสำเร็จ คุณสามารถใช้ปุ่ม ' ที่ไหน ” คำสั่งเพื่อยืนยันการสร้างไฟล์ SQL:
ค่าสถานะที่สามารถใช้กับ mysqldump
การตั้งค่าสถานะที่เหลือจะกล่าวถึงโดยใช้ไวยากรณ์ตลอดทั้งโพสต์นี้เท่านั้น แทนที่ ' ชื่อฐานข้อมูล ” พร้อมชื่อฐานข้อมูลของคุณ “ ชื่อตาราง ” พร้อมชื่อตารางและ “ ชื่อไฟล์เอาต์พุต ” ด้วยชื่อสำหรับไฟล์ SQL ของคุณที่จะสร้างขึ้นเมื่อดำเนินการคำสั่งส่งออกสำเร็จ
ส่งออกตารางหลายแถวโดยใช้คำสั่งแทรกเดียวในไฟล์ SQL
ในขณะที่ทำงานกับฐานข้อมูลที่มีตารางขนาดใหญ่ ' – ขยายแทรก ” แฟล็กสามารถใช้เพื่อส่งออกได้อย่างมีประสิทธิภาพเนื่องจากใช้หลายแถว “ แทรก ” คำสั่ง แทนที่จะเป็นแถวเดียว “ แทรก ” คำสั่งซึ่งเป็นวิธีเริ่มต้นขณะส่งออกตาราง มันเร่งเวลาการส่งออก ใช้ไวยากรณ์นี้สำหรับการใช้ ' – ขยายแทรก ' ธง:
mysqldump -u [ชื่อผู้ใช้] -p [db-name] [ชื่อตาราง] --extended-insert > [output-file-name].sqlส่งออกบันทึกจากตารางเฉพาะที่ตรงกับเงื่อนไข
หากต้องการส่งออกบันทึกจากตารางที่มีเงื่อนไขบางอย่าง ให้ใช้ปุ่ม ' -ที่ไหน ” แฟล็กที่กำหนดเงื่อนไขสำหรับการกรองเรกคอร์ดที่จะส่งออก ในการทำเช่นนั้น ใช้ไวยากรณ์นี้:
mysqldump -u [ชื่อผู้ใช้] -p [db-name] [ชื่อตาราง] --where='condition'> [ชื่อไฟล์เอาต์พุต].sqlเงื่อนไขจะเป็นอะไรก็ได้ เช่น “ รหัส < 30 '.
ส่งออกข้อมูลไบนารีโดยแปลงเป็นรูปแบบเลขฐานสิบหก
“ –hex-blob ” การตั้งค่าสถานะช่วยในการส่งออกข้อมูลไบนารีในรูปแบบเลขฐานสิบหก ตามค่าเริ่มต้น ข้อมูลไบนารีจะถูกจัดรูปแบบเป็นรูปแบบไบนารี การใช้แฟล็กนี้มีประโยชน์หากเกี่ยวข้องกับความถูกต้องของข้อมูล มิฉะนั้นจะใช้เวลามากกว่าการส่งออกปกติ ไวยากรณ์ได้รับด้านล่าง:
mysqldump -u [ชื่อผู้ใช้] -p [ชื่อฐานข้อมูล] [ชื่อตาราง] --hex-blob > [ชื่อไฟล์เอาต์พุต].sqlส่งออกฐานข้อมูลในรูปแบบ XML
หากต้องการส่งออกฐานข้อมูลในรูปแบบ XML ให้ใช้ไฟล์ “–xml ” ตั้งค่าสถานะในคำสั่ง mysqldump ตามที่แสดงในไวยากรณ์:
mysqldump -u [ชื่อผู้ใช้] -p --xml [ชื่อฐานข้อมูล] > [ชื่อไฟล์เอาต์พุต] .xmlส่งออกฐานข้อมูลด้วยคำสั่ง 'DROP DATABASE' ในไฟล์ SQL
หากต้องการสร้างไฟล์ส่งออกโดยเพิ่ม ' วางฐานข้อมูล ” คำแถลงก่อน “ สร้างฐานข้อมูล คำสั่ง ” เพื่อที่ว่าในกรณีของการนำเข้าจะปล่อยฐานข้อมูลหากมีอยู่แล้วโดยใช้ “ – เพิ่มวางฐานข้อมูล '. ใช้ไวยากรณ์นี้:
mysqldump -u [ชื่อผู้ใช้] -p --add-drop-database [db-name] > [output-file-name].sqlส่งออกฐานข้อมูลด้วยคำสั่ง 'DROP TABLE' ในไฟล์ SQL
หากต้องการสร้างไฟล์ส่งออกโดยเพิ่ม ' วางตาราง ” คำแถลงก่อน “ สร้างตาราง คำสั่ง ” เพื่อให้ในกรณีของการนำเข้าจะวางตารางหากมีอยู่แล้วโดยใช้ “ – เพิ่มวางตาราง '. ใช้ไวยากรณ์นี้:
mysqldump -u [ชื่อผู้ใช้] -p --add-drop-table [db-name] > [output-file-name].sqlส่งออกฐานข้อมูลโดยการยกเว้นบางตารางในไฟล์ SQL
หากต้องการส่งออกฐานข้อมูลโดยไม่รวมตารางที่ระบุโดยใช้ปุ่ม “ – ละเว้นตาราง ” ตั้งค่าสถานะในคำสั่ง mysqldump โดยใช้ไวยากรณ์นี้:
mysqldump -u [ชื่อผู้ใช้] -p --ignore-table=[db-name].[table-name] [db-name] > [output-file-name].sqlส่งออกฐานข้อมูลและบีบอัดไฟล์ SQL
เพื่อประหยัดพื้นที่ดิสก์ ผู้ใช้สามารถใช้เครื่องมือ gzip เพื่อบีบอัดไฟล์ SQL ที่มีฐานข้อมูลที่ส่งออกโดยใช้ปุ่ม ' – บีบอัด ' ธง. ไวยากรณ์สำหรับการบีบอัดไฟล์ SQL คือ:
mysqldump -u [ชื่อผู้ใช้] -p --compress [db-name] | gzip > [ชื่อไฟล์เอาต์พุต].sql.gzคุณได้เรียนรู้เกี่ยวกับค่าสถานะต่างๆ ของ mysqldump
บทสรุป
ยูทิลิตีไคลเอ็นต์ mysqldump ช่วยในการสร้างการสำรองโลจิคัลของฐานข้อมูลลงในไฟล์ SQL ใช้เพื่อส่งออกฐานข้อมูลเดียวและหลายฐานข้อมูลด้วยข้อมูลและโครงสร้าง ผู้ใช้ยังสามารถจัดรูปแบบและบีบอัดไฟล์ SQL โพสต์นี้แสดงแฟล็กต่างๆ ของ mysqldump ขณะส่งออกฐานข้อมูล MySQL