MySQL เป็นตัวเลือกยอดนิยมสำหรับแอ็พพลิเคชันเว็บทุกประเภท แอ็พของคุณสัมผัสกับการโจมตีโดยไม่ตั้งใจ หากเซิร์ฟเวอร์ของคุณถูกบุกรุกคุณจะต้องติดตั้งแอปพลิเคชันของคุณใหม่อีกครั้ง ที่เลวร้ายที่สุดคุณอาจสูญเสียข้อมูลทั้งหมด นอกจากนี้คุณยังต้องอยู่ในสถานการณ์ที่คุณต้องย้ายฐานข้อมูลจากเซิร์ฟเวอร์เครื่องหนึ่งไปยังเซิร์ฟเวอร์อื่น
mysqldump คืออะไรใช้สำหรับ?
mysqldump เครื่องมือที่คุณครอบคลุมสำหรับทั้งสองสถานการณ์เหล่านี้ เป็นฟังก์ชันพื้นฐานคือการใช้ฐานข้อมูล MySQL และ "dump" ออกเป็นไฟล์ข้อความ แต่ไม่ใช่แค่ไฟล์ข้อความใด ๆ … ไฟล์คือ a ชุดคำสั่ง SQL. งบเหล่านี้เมื่อดำเนินการจะสร้างฐานข้อมูลของคุณใหม่ให้อยู่ในสถานะที่แม่นยำซึ่งเมื่อคุณดำเนินการถ่ายโอนข้อมูล
เพื่อให้คุณสามารถใช้ mysqldump เพื่อส่งออกฐานข้อมูล ข้อมูลเหล่านี้อาจเป็นประโยชน์สำหรับการสำรองข้อมูลหรือเนื่องจากคุณย้ายฐานข้อมูลไปยังโฮสต์ใหม่ ในทั้งสองกรณีคุณจะถึงจุดหนึ่ง นำเข้า แฟ้มข้อความกลับเข้าสู่เซิร์ฟเวอร์ฐานข้อมูล MySQL จะรันคำสั่ง SQL ทั้งหมดในไฟล์ซึ่งจะสร้างฐานข้อมูลของคุณให้เป็นสถานะเดิม ส่วนนี้ไม่ได้ใช้ mysqldump คำสั่ง แต่มันจะไม่เป็นไปได้โดยไม่ต้องใช้ประโยชน์นี้อย่างใดอย่างหนึ่ง!
เอกสาร MySQL มีรายชื่อวิธีการอื่น ๆ ในการทำสำรอง แต่เหล่านี้ทั้งหมดมีข้อเสียของตัวเอง:
- การสร้างฐานข้อมูลแบบ Hotcopying จาก MySQL Enterprise เป็นวิธีที่ยอดเยี่ยมในการสำรองข้อมูลเหล่านี้ … หากคุณไม่เข้าใจป้ายราคา Enterprise
- การทำสำเนาไดเร็กทอรีข้อมูลของ DB อาจยุ่งยากหากคุณกำลังเคลื่อนย้ายระบบปฏิบัติการเนื่องจากจุดหมายปลายทางจะแตกต่างกัน
- การส่งออกไปยังแฟ้มข้อความที่คั่นด้วยจะให้เนื้อหา แต่คุณจะต้องสร้างโครงสร้างด้วยตัวเอง และคุณควรจะทำให้ถูกต้อง …
- คุณสามารถสำรองฐานข้อมูลจากโปรแกรม GUI เช่น MySQL Workbench ได้บ่อยๆ แต่นี่เป็นขั้นตอนด้วยตนเองนั่นคือไม่ใช่สิ่งที่คุณสามารถทำเป็นสคริปต์หรือรวมไว้ในชุดงานได้
การติดตั้งเครื่องมือ mysqldump
หากคุณสนใจในบทความนี้มีโอกาสที่คุณได้ติดตั้ง MySQL แล้ว ถ้าเป็นเช่นนั้นข่าวดี - คุณมีอยู่แล้ว mysqldump! ถ้าไม่คุณสามารถติดตั้ง MySQL ได้ในแบบมาตรฐานสำหรับระบบปฏิบัติการของคุณ
สำหรับ Windows ให้ตรวจดูคำแนะนำของเราที่นี่เพื่อติดตั้ง MySQL บน Windows 7 (ขั้นตอนการติดตั้งยังคงเหมือนเดิม) ในทำนองเดียวกันกับ macOS ดูคำแนะนำในการติดตั้ง MySQL บน macOS 10.7 (อีกครั้ง แต่ยังคงใช้งานได้) ผู้ใช้ระบบ Linux ที่ใช้อูบุนตูสามารถใช้คำสั่งต่อไปนี้เพื่อติดตั้ง MySQL client และ utility:
sudo apt ติดตั้ง mysql-client เมื่อติดตั้งแล้วคุณสามารถใช้ mysqldump เพื่อรับการสำรองข้อมูลเต็มรูปแบบของฐานข้อมูลของคุณ mysqldump -h ชื่อโฮสต์ DB หรือ IP -u ชื่อผู้ใช้ DB -p ชื่อฐานข้อมูล> db_backup.sql
ลองแบ่งคำสั่งนี้ลงเล็กน้อย: เมื่อเสร็จสิ้นคุณจะมีไฟล์. SQL นี่เป็นเพียงไฟล์ข้อความที่มีคำสั่ง SQL คุณสามารถเปิดขึ้นในโปรแกรมแก้ไขข้อความใด ๆ เพื่อตรวจสอบเนื้อหาได้ เมื่อมองจากการส่งออกจากฐานข้อมูล WordPress คุณจะเห็นได้ว่าไฟล์เหล่านี้ถูกรวมเข้าด้วยกันอย่างไร ไฟล์แบ่งออกเป็นส่วน ในภาพด้านบนเราสามารถดูส่วนแรกตั้งค่าความคิดเห็นสำหรับ WordPress ส่วนที่สองจะสร้างเนื้อหา (เช่นบันทึกข้อคิดเห็น) ที่อยู่ในตารางเหล่านั้น เมื่อคุณไปที่ re-import MySQL dump ของคุณอีกครั้งคำสั่งจะทำงานผ่านไฟล์รันคำสั่งและสร้างฐานข้อมูลของคุณใหม่ในลักษณะเดิม ดังนั้นคุณจะทำอย่างไร ลองมาดู ก่อนที่คุณจะสามารถทำเช่นนี้ได้คุณจะต้องมีฐานข้อมูลที่สร้างไว้แล้วและมีชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง คุณควรมีสิทธิ์ทั้งหมดสำหรับฐานข้อมูล (พูดอย่างเคร่งครัดคุณไม่จำเป็นต้อง GRANT อนุญาต แต่ง่ายกว่าเพียงแค่ให้พวกเขาทั้งหมด) คุณสามารถดูรายละเอียดเกี่ยวกับสิทธิ์ฐานข้อมูลในบทความนี้ หากต้องการนำเข้าข้อมูลของคุณอีกครั้งให้ทำตามขั้นตอนต่อไปนี้: เมื่อดำเนินการเสร็จสิ้นคุณจะเห็นรายการข้อความยาวที่สังเกตว่าคำสั่ง SQL รันอยู่ โปรดระวังข้อผิดพลาด แต่ถ้าคุณมีสิทธิ์ที่ถูกต้องคุณควรจะปรับเป็นฐานข้อมูลเปล่า เมื่อกระบวนการเสร็จสมบูรณ์แล้วคุณจะมีฐานข้อมูลเดิมซ้ำกัน คุณสามารถตรวจสอบได้โดยทำข้อมูลการถ่ายโอนข้อมูลอื่นและเปรียบเทียบผลลัพธ์สองรายการ โปรแกรมแก้ไขข้อความที่ดีจะสามารถทำสิ่งนี้ให้คุณได้หรือเครื่องมือ * diff แบบเฉพาะ * เช่นเดียวกับที่แสดงไว้ในภาพด้านล่าง: มีเพียงสองข้อแตกต่างระหว่างไฟล์เหล่านี้โดยแสดงเป็นเส้นสีแดงที่ด้านบนและด้านล่างของแถบเลื่อนด้านขวา แรกคือบรรทัดที่มีชื่อฐานข้อมูลและเราคาดว่าจะแตกต่างกันเนื่องจากเราตั้งชื่อให้แตกต่างกัน ประการที่สองคือตอนท้ายของไฟล์การถ่ายโอนข้อมูล และเราคาดหวังว่าจะแตกต่างไปจากนี้เนื่องจากเราสร้างฐานข้อมูลที่สองขึ้นหลังจากที่เป็นครั้งแรก มิฉะนั้นไฟล์จะเหมือนกันซึ่งหมายความว่าฐานข้อมูลที่สร้างขึ้นเช่นกัน! การแยก MySQL Dump
การนำเข้าไฟล์การถ่ายโอนข้อมูล MySQL