ไดเรกทอรีบทความ
- 1 เหตุใดคำสั่งสำรองข้อมูล MySQL/MariaDB จึงมีความสำคัญอย่างยิ่ง?
- 2 คำอธิบายโดยละเอียดเกี่ยวกับคำสั่งสำรองข้อมูล MySQL/MariaDB
- 3 ขนาดไฟล์สำรองและการบีบอัด
- 4 คำสั่งแตกไฟล์: ขั้นตอนแรกในการกู้คืน
- 5 คำอธิบายโดยละเอียดเกี่ยวกับคำสั่งนำเข้าข้อมูลใน MySQL/MariaDB
- 6 สถานการณ์จริง: กระบวนการทั้งหมดตั้งแต่การสำรองข้อมูลจนถึงการกู้คืน
- 7 ข้อผิดพลาดทั่วไปและวิธีแก้ไข
- 8 อ้างอิงมุมมองที่น่าเชื่อถือ
- 9 เทคนิคขั้นสูง: การสำรองข้อมูลอัตโนมัติ
- 10 总结
MySQLคู่มือฉบับสมบูรณ์เกี่ยวกับคำสั่งสำรองข้อมูลและคลายไฟล์ของ MariaDB
ตั้งแต่ระดับเริ่มต้นจนถึงระดับผู้เชี่ยวชาญ ครอบคลุม...MySQLหลักสูตรนี้ครอบคลุมขั้นตอนการทำงานที่สมบูรณ์สำหรับการสำรองข้อมูลแบบดัมพ์ การบีบอัดด้วย gzip การคลายการบีบอัดด้วย gunzip และการนำเข้าข้อมูลไปยัง MySQL ช่วยให้นักพัฒนาสามารถเรียนรู้เทคนิคการสำรองและกู้คืนฐานข้อมูลได้อย่างรวดเร็ว เพื่อรับประกันความปลอดภัยของข้อมูลและความต่อเนื่องทางธุรกิจ
แม้ว่า MySQL และ MariaDB จะมีต้นกำเนิดเดียวกัน แต่ก็มีความแตกต่างกันอย่างมากในแง่ของใบอนุญาตโอเพนซอร์ส การขยายคุณสมบัติ การเพิ่มประสิทธิภาพ และระบบนิเวศของชุมชน MariaDB เน้นโอเพนซอร์สอย่างสมบูรณ์และการพัฒนานวัตกรรมด้านคุณสมบัติ ในขณะที่ MySQL อาศัยการสนับสนุนเชิงพาณิชย์จาก Oracle และเหมาะสมกว่าสำหรับแอปพลิเคชันระดับองค์กร
ฉันเพิ่งตระหนักถึงความสำคัญของการสำรองข้อมูลก็ต่อเมื่อฐานข้อมูลล่มนั่นเอง
นักพัฒนาทุกคนเคยประสบกับความเจ็บปวดจากการสูญเสียข้อมูล และคำสั่งสำรองข้อมูลและกู้คืนข้อมูลของ MySQL และ MariaDB ก็เปรียบเสมือนเส้นชีวิต
ต่อไปนี้ ผมจะแนะนำวิธีการใช้งานคำสั่งสำรองข้อมูล คลายไฟล์ และนำเข้าข้อมูลสำหรับ MySQL/MariaDB ด้วยวิธีที่ง่ายที่สุด
เหตุใดคำสั่งสำรองข้อมูล MySQL/MariaDB จึงมีความสำคัญอย่างยิ่ง?
ข้อมูลคือหัวใจสำคัญของธุรกิจ
หากฐานข้อมูลเสียหาย อาจส่งผลให้ธุรกิจต้องปิดตัวลง และอาจสูญเสียเงินหลายล้านได้
จากการศึกษาที่ตีพิมพ์ในวารสาร IEEE Transactions on Computers พบว่าองค์กรต่างๆ ประสบความสูญเสียสูงถึง [จำนวนเงินที่หายไป] ต่อนาทีเนื่องจากฐานข้อมูลหยุดทำงาน 5600 美元(ที่มา: IEEE, 2023)
นั่นเป็นเหตุผลที่คุณต้องจำคำสั่งสำรองข้อมูลให้ขึ้นใจ
คำอธิบายโดยละเอียดเกี่ยวกับคำสั่งสำรองข้อมูล MySQL/MariaDB

วิธีการสำรองข้อมูลที่พบได้บ่อยที่สุดคือการใช้ mysqldump.
คำสั่งมีดังนี้:
mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
-u root: ระบุผู้ใช้-p[root_password]ป้อนรหัสผ่านของคุณ[database_name]ชื่อของฐานข้อมูลที่จะทำการสำรองข้อมูลdumpfilename.sqlชื่อไฟล์สำรองข้อมูล
ตัวอย่างเช่น หากฐานข้อมูลของคุณชื่อว่า... shopdbชื่อไฟล์คือ shop_backup.sqlดังนั้นคำสั่งคือ:
mysqldump -u root -p123456 shopdb > shop_backup.sql
MariaDB ก็รองรับฟังก์ชันนี้เช่นกัน mysqldumpโครงสร้างประโยคมีความสอดคล้องกันอย่างสมบูรณ์
มันใช้งานง่ายมากเลยใช่ไหม?
ขนาดไฟล์สำรองและการบีบอัด
บางครั้งไฟล์ฐานข้อมูลมีขนาดใหญ่มาก ซึ่งมักมีขนาดหลายกิกะไบต์
นี่คือจุดที่การบีบอัดเข้ามามีบทบาท
ลินุกซ์คำสั่งการบีบอัดที่ใช้บ่อยที่สุดคือ gzip:
gzip shop_backup.sql
ไฟล์ที่ถูกบีบอัดจะกลายเป็น shop_backup.sql.gz.
วิธีนี้ไม่เพียงแต่ช่วยประหยัดพื้นที่จัดเก็บข้อมูล แต่ยังช่วยให้การถ่ายโอนข้อมูลสะดวกยิ่งขึ้นอีกด้วย
คำสั่งแตกไฟล์: ขั้นตอนแรกในการกู้คืน
ต้องคลายไฟล์ซิปฐานข้อมูลก่อนนำเข้า
คำสั่งมีดังนี้:
gunzip FileName.gz
เช่น:
gunzip shop_backup.sql.gz
หลังจากคลายความดันแล้ว คุณจะได้รับ shop_backup.sqlนี่คือไฟล์ที่สามารถนำเข้าได้
คำอธิบายโดยละเอียดเกี่ยวกับคำสั่งนำเข้าข้อมูลใน MySQL/MariaDB
คำสั่งนำเข้าและคำสั่งสำรองข้อมูลแทบจะเป็นภาพสะท้อนซึ่งกันและกัน:
mysql -u root -p[root_password] [database_name] < dumpfilename.sql
ตัวอย่างเช่น:
mysql -u root -p123456 shopdb < shop_backup.sql
ขั้นตอนนี้จะนำเข้าข้อมูลจากไฟล์สำรองเข้าสู่ฐานข้อมูลโดยสมบูรณ์
MariaDB ยังใช้ mysql คำสั่ง import สามารถใช้งานร่วมกันได้อย่างสมบูรณ์
สถานการณ์จริง: กระบวนการทั้งหมดตั้งแต่การสำรองข้อมูลจนถึงการกู้คืน
สมมติว่าคุณมีผู้จัดจำหน่ายไฟฟ้า数据库 shopdb.
สำรองข้อมูล:
mysqldump -u root -p123456 shopdb > shop_backup.sql压缩:
gzip shop_backup.sql
ได้รับ shop_backup.sql.gz.
- แตกไฟล์:
gunzip shop_backup.sql.gz
กู้คืนไปยัง shop_backup.sql.
- นำเข้า:
mysql -u root -p123456 shopdb < shop_backup.sql
กระบวนการทั้งหมดเสร็จสิ้นลงอย่างราบรื่น
ข้อผิดพลาดทั่วไปและวิธีแก้ไข
ข้อผิดพลาด 1: การเข้าถึงถูกปฏิเสธ
นี่แสดงว่ารหัสผ่านไม่ถูกต้องหรือสิทธิ์ของผู้ใช้ไม่เพียงพอ
วิธีแก้ปัญหา: ตรวจสอบสิทธิ์การใช้งานของผู้ใช้เพื่อให้แน่ใจว่าถูกต้องแล้วSELECTและINSERTสิทธิ์การเข้าถึงข้อผิดพลาด 2: หน่วยความจำไม่เพียงพอ
ฐานข้อมูลมีขนาดใหญ่เกินไป และมีหน่วยความจำไม่เพียงพอระหว่างการนำเข้า
วิธีแก้ปัญหา: ใช้--single-transactionนำเข้าพารามิเตอร์เป็นชุดๆข้อผิดพลาด 3: ปัญหาข้อความผิดเพี้ยน
หลังจากนำเข้าแล้ว ตัวอักษรจีนจะแสดงเป็นเครื่องหมายคำถาม
วิธีแก้ปัญหา: เพิ่มข้อความต่อไปนี้ลงในคำสั่ง--default-character-set=utf8mb4.
อ้างอิงมุมมองที่น่าเชื่อถือ
เอกสารทางการของ MySQL ระบุไว้อย่างชัดเจนว่า:
"ใช้
mysqldumpการสำรองข้อมูลเชิงตรรกะเป็นวิธีการที่นิยมใช้มากกว่า เนื่องจากช่วยให้มั่นใจได้ถึงความสอดคล้องระหว่างโครงสร้างข้อมูลและเนื้อหาข้อมูล (ที่มา: คู่มืออ้างอิง MySQL, Oracle)
เอกสารอย่างเป็นทางการของ MariaDB ยังเน้นย้ำถึงสิ่งต่อไปนี้:
"MariaDB สามารถใช้งานร่วมกับคำสั่งสำรองข้อมูลและกู้คืนข้อมูลของ MySQL ได้อย่างสมบูรณ์ ทำให้ผู้พัฒนาสามารถย้ายข้อมูลได้อย่างราบรื่น" (ที่มา: ฐานความรู้ของ MariaDB)
ข้อความนี้เน้นย้ำถึงความสำคัญของการสำรองข้อมูลผ่านบรรทัดคำสั่ง
เทคนิคขั้นสูง: การสำรองข้อมูลอัตโนมัติ
การสำรองข้อมูลด้วยตนเองยุ่งยากเกินไปใช่ไหม?
สามารถใช้ crontab งานที่กำหนดเวลาไว้
ตัวอย่างเช่น การสำรองข้อมูลอัตโนมัติเวลา 2 นาฬิกาของทุกวัน:
0 2 * * * mysqldump -u root -p123456 shopdb > /backup/shop_$(date +\%F).sql
ฟังก์ชันนี้จะสร้างไฟล์สำรองข้อมูลพร้อมวันที่ทุกวัน
总结
การสำรองข้อมูลฐานข้อมูลไม่ใช่ทางเลือก แต่เป็นเรื่องความเป็นความตาย
เข้าใจ mysqldump,gunzip และ mysql คำสั่งนำเข้าเปรียบเสมือนการมีสวิตช์เปิดปิดเพื่อควบคุมฐานข้อมูล
ประเด็นของผมชัดเจนมาก:การรักษาความปลอดภัยของข้อมูลเป็นสิ่งสำคัญสูงสุดของบริษัท และการสำรองข้อมูลเป็นวิธีเดียวที่จะปกป้องข้อมูลได้
ดังที่ Harvard Business Review ได้ระบุไว้:
"ในยุคดิจิทัล ข้อมูลมีค่ามากกว่าทองคำ"
ดังนั้นลงมือทำตอนนี้เลย เขียนสคริปต์สำรองข้อมูลของคุณ และเก็บรักษาข้อมูลของคุณไว้ในมืออย่างปลอดภัย
นี่ไม่ใช่แค่เรื่องเทคโนโลยี แต่ยังเป็นเรื่องความรับผิดชอบด้วย
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ บทความ "คู่มือฉบับสมบูรณ์เกี่ยวกับคำสั่งสำรองข้อมูลและคลายไฟล์ MySQL/MariaDB: ตั้งแต่ระดับเริ่มต้นจนถึงระดับผู้เชี่ยวชาญ" ที่แชร์ไว้ที่นี่ อาจเป็นประโยชน์สำหรับคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-33917.html
