คู่มือฉบับสมบูรณ์เกี่ยวกับคำสั่งสำรองข้อมูลและคลายไฟล์ MySQL/MariaDB: ตั้งแต่ระดับเริ่มต้นจนถึงระดับผู้เชี่ยวชาญ

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

คู่มือฉบับสมบูรณ์เกี่ยวกับคำสั่งสำรองข้อมูลและคลายไฟล์ 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.

  1. สำรองข้อมูล:

    mysqldump -u root -p123456 shopdb > shop_backup.sql
    
  2. 压缩:

    gzip shop_backup.sql
    

ได้รับ shop_backup.sql.gz.

  1. แตกไฟล์:
    gunzip shop_backup.sql.gz
    

กู้คืนไปยัง shop_backup.sql.

  1. นำเข้า:
    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

หากต้องการปลดล็อคเคล็ดลับที่ซ่อนอยู่เพิ่มเติม ยินดีต้อนรับเข้าร่วมช่อง Telegram ของเรา!

แชร์และกดไลค์ถ้าคุณชอบ! การแชร์และการถูกใจของคุณคือแรงบันดาลใจอย่างต่อเนื่องของเรา!

 

发表评论

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ 必填项已用 * 标注

เลื่อนไปที่ด้านบน