การถ่ายโอนฐานข้อมูล MySQL ไปยังเซิร์ฟเวอร์อื่น วิธีบันทึกฐานข้อมูล sql วิธีส่งออกที่รวดเร็ว

อัปเดตล่าสุด: 31/10/2558

การบันทึกไฟล์ลงฐานข้อมูล

มาดูกันว่าเราสามารถบันทึกไฟล์ โดยเฉพาะไฟล์รูปภาพ ลงในฐานข้อมูลได้อย่างไร ในการดำเนินการนี้ให้เพิ่มรูปภาพตารางใหม่ลงในฐานข้อมูลโดยมีสี่คอลัมน์: Id (คีย์หลักและตัวระบุเป็นประเภท int), ชื่อไฟล์ (จะเก็บชื่อไฟล์และเป็นประเภท nvarchar), ชื่อ (จะจัดเก็บไฟล์ title และเป็นประเภท nvarchar) และ ImageData (จะมีข้อมูลไฟล์ไบนารีและเป็นประเภท varbimary(MAX))

มากำหนดรหัสที่จะโหลดข้อมูลลงในตาราง:

โมฆะคงที่ส่วนตัว SaveFileToDatabase() ( string ConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; การใช้ (การเชื่อมต่อ SqlConnection = new SqlConnection(connectionString)) ( Connection.Open(); คำสั่ง SqlCommand = ใหม่ SqlCommand(); command.Connection = Connection; command.CommandText = @"INSERT INTO Images VALUES (@FileName, @Title, @ImageData)"; ); command.Parameters.Add("@Title", SqlDbType.NVarChar, 50); command.Parameters.Add("@ImageData", SqlDbType.Image, 1000000); // พาธไปยังไฟล์เพื่อโหลดชื่อไฟล์สตริง = @ " C:\Users\Eugene\Pictures\cats.jpg"; // ชื่อไฟล์ string title = "Cats"; // получаем короткое имя файла для сохранения в бд string shortFileName = filename.Substring(filename.LastIndexOf("\\")+1); // cats.jpg // массив для хранения бинарных данных файла byte imageData; using (System.IO.FileStream fs = new System.IO.FileStream(filename, FileMode.Open)) { imageData = new byte; fs.Read(imageData, 0, imageData.Length); } // передаем данные в команду через параметры command.Parameters["@FileName"].Value = shortFileName; command.Parameters["@Title"].Value = title; command.Parameters["@ImageData"].Value = imageData; command.ExecuteNonQuery(); } } !}

หลังจากรันโปรแกรมนี้ รายการที่เกี่ยวข้องจะปรากฏในฐานข้อมูล:

การดึงไฟล์จากฐานข้อมูล

ในหัวข้อที่แล้ว เราได้ดูวิธีการเพิ่มไฟล์ลงในฐานข้อมูล ตอนนี้เรามาดำเนินการย้อนกลับ - รับไฟล์จากฐานข้อมูล ขั้นแรก เรามากำหนดคลาสไฟล์ที่จะทำให้การทำงานกับข้อมูลง่ายขึ้น:

รูปภาพคลาสสาธารณะ ( รูปภาพสาธารณะ (int id, ชื่อไฟล์สตริง, ชื่อสตริง, ข้อมูลไบต์) ( Id = id; FileName = ชื่อไฟล์; Title = title; Data = data; ) public int Id ( get; private set; ) ชื่อไฟล์สตริงสาธารณะ ( get; ชุดส่วนตัว; ) ชื่อสตริงสาธารณะ ( get; ชุดส่วนตัว; ) ข้อมูลไบต์สาธารณะ ( get; ชุดส่วนตัว; ) )

จากนั้นในโค้ดโปรแกรมเรากำหนดวิธีการดังต่อไปนี้:

ส่วนตัวคงโมฆะ ReadFileFromDatabase() ( string ConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; List รูปภาพ = รายการใหม่ - ใช้ (การเชื่อมต่อ SqlConnection = ใหม่ SqlConnection(connectionString)) ( Connection.Open(); string sql = "SELECT * FROM Images"; คำสั่ง SqlCommand = ใหม่ SqlCommand(sql, การเชื่อมต่อ); SqlDataReader reader = command.ExecuteReader(); while( reader.Read()) ( int id = reader.GetInt32(0); ชื่อไฟล์สตริง = reader.GetString(1); ชื่อสตริง = reader.GetString(2); ข้อมูลไบต์ = (ไบต์)reader.GetValue(3); Image image = new Image(id, filename, title, data); images.Add(image); // บันทึกไฟล์แรกจากรายการ if(images.Count>0) ( ใช้ (System.IO.FileStream fs = new System.IO.FileStream (images.FileName, FileMode.OpenOrCreate)) ( fs.Write (images.Data, 0, images.Data.Length); Console.WriteLine ("รูปภาพ "(0)" ที่บันทึกไว้", images.Title ); ) ) )

ในวิธีนี้โดยใช้ SqlDataReader เราได้รับค่าจากฐานข้อมูลและใช้เพื่อสร้างวัตถุ Image ซึ่งจะถูกเพิ่มเข้าไปในรายการ และท้ายที่สุด เราจะดูว่าหากมีองค์ประกอบอยู่ในรายการ เราจะนำองค์ประกอบแรกและบันทึกลงในเครื่องคอมพิวเตอร์ และหลังจากบันทึกแล้ว ไฟล์ที่ดาวน์โหลดจากฐานข้อมูลจะปรากฏในโฟลเดอร์โปรแกรมของเรา

จากผู้เขียน:ญาติเพิ่งมาเยี่ยม ดังนั้นภายในสองสามวัน พวกเขาทำให้แหล่งอาหารหมดเกลี้ยง จากนั้นพวกเขาก็ "ทำปุ๋ยหมัก" แหล่งประสาททั้งหมด และสุดท้ายพวกเขาก็เผาแหล่งอาหาร (ศูนย์ดนตรี) โดยทั่วไปแล้ว ฉันตัดสินใจถ่ายโอนฐานข้อมูล MySQL อย่างรวดเร็วเพื่อไม่ให้เกิดอันตราย หากคุณพบว่าตัวเองตกอยู่ในสถานการณ์เช่นนี้ โปรดอ่านบทความนี้

วิธีการส่งออกที่รวดเร็ว

เริ่มจากภาพรวมของ phpMyAdmin กันก่อน หากต้องการถ่ายโอนฐานข้อมูล คุณต้องสร้างฐานข้อมูลที่ซ้ำกันก่อน โปรแกรมมีฟังก์ชันพิเศษสำหรับสิ่งนี้ มาดูกระบวนการนี้ให้ละเอียดยิ่งขึ้น:

คุณสามารถเลือกฐานข้อมูลที่ต้องการในรายการทางด้านซ้ายก่อน จากนั้นไปที่แท็บเมนู "ส่งออก" หากคุณใช้ตัวเลือกนี้ การโอนย้าย MySQL แบบตารางต่อตารางจะดำเนินการ ในการดำเนินการนี้ ให้ตั้งค่า "วิธีการส่งออก" เป็น "ปกติ" และเลือกองค์ประกอบการส่งออกใน "ตาราง"

หากคุณต้องการส่งออกฐานข้อมูลทั้งหมด (พร้อมตารางทั้งหมด) ให้ไปที่ "ส่งออก" ทันที เฉพาะที่นี่เท่านั้นที่เราไม่ได้ดำเนินการกับตารางอีกต่อไป แต่ใช้กับฐานข้อมูล ใน "วิธีการส่งออก" เรายังตั้งค่า "ปกติ" ด้วย จากนั้นเลือกฐานข้อมูลที่ต้องการ และในส่วน "เอาต์พุต" ให้เลือกตัวเลือก "บันทึกเอาต์พุตเป็นไฟล์"

ขั้นตอนต่อไปคือการตั้งค่ารูปแบบที่จะบันทึกสำเนาฐานข้อมูล เลือกค่า “SQL” จากรายการที่เกี่ยวข้อง เพื่อให้แน่ใจว่าสามารถใช้สำเนาบนแพลตฟอร์มส่วนใหญ่ได้ แต่ถ้าคุณจะถ่ายโอนฐานข้อมูลไปยังฐานเฉพาะ คุณสามารถเลือกรูปแบบที่เหมาะสมได้ที่นี่: อาร์เรย์ PHP, CSV, PDF และอื่น ๆ

ด้านล่างในส่วน “ตัวเลือกรูปแบบ” และ “ตัวเลือกการบันทึกข้อมูล” คุณสามารถกำหนดค่าพารามิเตอร์ “ ” เพิ่มเติมสำหรับการถ่ายโอนฐานข้อมูล MySQL แต่เราจะไม่ลงรายละเอียดในการตรวจสอบของพวกเขา หากคุณไม่คุ้นเคยกับสิ่งเหล่านี้ ไม่ควรเปลี่ยนค่าเริ่มต้น (โดยไม่จำเป็น) ที่นี่คุณสามารถกำหนดค่าความเข้ากันได้สูงสุดกับ DBMS เวอร์ชันเก่าและวิธีการบันทึกตาราง คุณสามารถส่งออกข้อมูลหรือโครงสร้างได้เท่านั้น เราจะคัดลอกตารางทั้งหมด (ตัวเลือก "โครงสร้างและข้อมูล")

หลังจากตั้งค่าพารามิเตอร์ทั้งหมดเพื่อสร้างสำเนาของฐานข้อมูลแล้ว ให้คลิก "ตกลง" ที่ด้านล่าง เป็นผลให้เราได้รับฐานข้อมูลที่ซ้ำกัน ซึ่งสามารถถ่ายโอนไปยังเซิร์ฟเวอร์อื่นได้อย่างง่ายดาย ตามค่าเริ่มต้น ไฟล์ที่สร้างขึ้นจะถูกบันทึกไว้ในโฟลเดอร์ดาวน์โหลดของเบราว์เซอร์ของคุณ

เรานำเข้า

การใช้ phpMyAdmin ไม่เพียงแต่คุณสามารถสร้างสำเนาของเซิร์ฟเวอร์ทั้งหมด ฐานข้อมูล และแต่ละตารางเท่านั้น โปรแกรมนี้ช่วยให้คุณสามารถถ่ายโอนข้อมูล MySQL ไปยังอินสแตนซ์ DBMS อื่นได้อย่างง่ายดาย การดำเนินการตามกระบวนการนี้มีหลายวิธีคล้ายกับการส่งออกฐานข้อมูล phpMyAdmin สามารถเชื่อมต่อทั้งตารางแต่ละตารางเข้ากับฐานข้อมูลและหลายฐานข้อมูลไปยังเซิร์ฟเวอร์ได้ในคราวเดียว หากต้องการแนบตารางทางด้านซ้ายในรายการ ให้เลือกฐานข้อมูลที่ต้องการ จากนั้นไปที่แท็บ "นำเข้า"

หากต้องการแนบฐานข้อมูล (หรือหลายฐานข้อมูล) กับเซิร์ฟเวอร์ ให้ไปที่แท็บที่ระบุทันที จากนั้น ในส่วน "ไฟล์ที่นำเข้า" ให้ทำเครื่องหมายที่ตัวเลือก "เรียกดูคอมพิวเตอร์ของคุณ" และใช้ Explorer เพื่อระบุตำแหน่งของไฟล์ฐานข้อมูล

ที่นี่คุณจะต้องระบุการเข้ารหัสที่แสดงข้อมูลในแหล่งที่นำเข้า คุณควรระมัดระวังพารามิเตอร์นี้ให้มากขึ้น ไม่เช่นนั้นคุณจะได้ "อักษรอียิปต์โบราณ" จริงแทนที่จะเป็นแถวในตาราง และคุณจะต้องจ้างชาวญี่ปุ่นหรือชาวจีนเพื่อถอดรหัส และมีปัญหาการขาดแคลนอย่างแท้จริงในพื้นที่ของเรา

การเข้ารหัสที่ใช้บ่อยที่สุดคือ UTF-8 ซึ่งตั้งค่าไว้ตามค่าเริ่มต้น ดังนั้นแม้ว่าคุณจะไม่ทราบแน่ชัดว่ามีการใช้การเข้ารหัสใดในฐานข้อมูล MySQL แบบพกพา แต่ก็คุ้มค่าที่จะลองใช้การเข้ารหัสนี้ ไม่ว่าในกรณีใด คุณสามารถลบฐานข้อมูลที่นำเข้าแล้ว "อัปโหลดใหม่" ด้วยการเข้ารหัสอื่นได้ตลอดเวลา

ฉันยังรีบทำให้แฟน ๆ ที่ "กระตือรือร้น" ของ phpMyAdmin ผิดหวังด้วย ยูทิลิตี้นี้เหมาะสำหรับการส่งออกและนำเข้าฐานข้อมูลขนาดเล็กเท่านั้น (สูงสุด 2 “เมตร”) ค่านี้ค่อนข้างเพียงพอสำหรับการถ่ายโอนเซิร์ฟเวอร์บางส่วน (ทีละขั้นตอน) ซึ่งอาจไม่สะดวกนักและอาจจะทำให้กระบวนการทั้งหมดล่าช้าเป็นเวลานาน

ในส่วน "รูปแบบ" ให้ตั้งค่าเป็น "SQL" หากจำเป็น ให้เปิดโหมดความเข้ากันได้ นอกจากนี้เรายังปิดใช้งานการสร้างค่าคีย์โดยอัตโนมัติสำหรับคอลัมน์ที่มีค่า Null (ขึ้นอยู่กับโครงสร้างตารางของแหล่งที่มาที่นำเข้า) และเพื่อเสร็จสิ้นการนำเข้า คลิก "ตกลง"

หากคุณกำลังจะถ่ายโอนฐานข้อมูล MySQL จากข้อมูลสำรอง อย่าลืมลบแหล่งข้อมูล “ดั้งเดิม” ออกจากเซิร์ฟเวอร์ก่อนเริ่มการนำเข้า มิฉะนั้น คุณจะได้รับข้อความแสดงข้อผิดพลาดเนื่องจากมีฐานข้อมูลอยู่แล้ว

หากดำเนินการสำเร็จ ระบบโปรแกรมจะแสดงข้อความที่เกี่ยวข้อง

ซอฟต์แวร์ทางเลือก

เมื่อคุณเรียนรู้ MySQL ฉันสัญญาว่าจะแนะนำให้คุณรู้จักกับซอฟต์แวร์การดูแลระบบ DBMS ต่างๆ ด้วยวิธีนี้ คุณสามารถขยายขอบเขต "ความเป็นมืออาชีพ" ของคุณ และเลือกโปรแกรมที่ตรงกับความต้องการและประเภทของกิจกรรมของคุณมากที่สุด

วันนี้เราจะทดสอบความสามารถของการย้าย MySQL โดยใช้แอปพลิเคชันที่ทรงพลังและเต็มไปด้วยฟีเจอร์ที่พัฒนาโดยผู้สร้าง DBMS คุณสามารถดาวน์โหลด MySQL Workbench ได้จากแหล่งข้อมูลอย่างเป็นทางการของบริษัท มีการอธิบายรายละเอียดการแจกจ่ายของบุคคลที่สามหลายรายการ (และลิงก์ไปยังการแจกจ่ายเหล่านี้) ที่จำเป็นในการดูแลระบบ DBMS โดยใช้แพลตฟอร์มนี้

ฉันขอย้ำอีกครั้ง: เครื่องมือดังกล่าวมีฟังก์ชันการทำงานที่ทรงพลัง ดังนั้นเราจะพิจารณาเฉพาะเครื่องมือที่ออกแบบมาเพื่อนำเข้าและส่งออกฐานข้อมูลแต่ละรายการในรูปแบบ SQL ในการดำเนินการนี้ให้เปิดโปรแกรมคลิกที่ไอคอนการเชื่อมต่อที่ต้องการ (หากมีหลายรายการ)

ในหน้าต่างใหม่ที่เปิดทางด้านซ้ายในแผง "Navigator" ให้เลือกแท็บที่ต้องการ (สำหรับการส่งออกหรือนำเข้า) ฉันกำลังนำเข้าฐานข้อมูลซ้ำที่สร้างโดยใช้ phpMyAdmin

หากต้องการถ่ายโอนข้อมูล MySQL ให้ไปที่รายการ "นำเข้าข้อมูล" ในแท็บชื่อเดียวกันในส่วน "ตัวเลือกการนำเข้า" ให้เลือกตัวเลือกที่สอง (ระบุในภาพ)

เนื่องจากเราไม่มีแผนใดๆ เราจึงคลิกที่ "เริ่มการนำเข้า" ที่ด้านล่าง แท็บ “ความคืบหน้าการนำเข้า” ที่อยู่ติดกันจะแสดงสถานะของกระบวนการถ่ายโอนไฟล์ที่ระบุ ตัวเลือกนี้จะมีประโยชน์เมื่อนำเข้าข้อมูลจำนวนมาก

หลังจากการถ่ายโอน MySQL เสร็จสิ้น เราจะมี db1 อยู่ในรายการฐานข้อมูล ซึ่งเป็นฐานข้อมูลซ้ำที่เราสร้างขึ้นโดยใช้ phpMyAdmin

ในขณะที่ฉันกำลัง "ซ่อน" ฐานข้อมูล MySQL ญาติของฉันทั้งหมดก็จากไป เนื่องจากฉันยุ่งและไม่มีใครเติมอาหารในตู้เย็น นี่คือวิธีที่ DBMS ที่ฉันชื่นชอบช่วยฉันจากโชคร้าย "ที่เกี่ยวข้อง" ซึ่งฉันขอขอบคุณเธอมาก

การใช้แผง DirectAdmin การใช้เว็บอินเตอร์เฟส phpMyAdmin การใช้สคริปต์ Sypex Dumper การใช้บรรทัดคำสั่งของเซิร์ฟเวอร์

วิธีที่ #1: ส่งออกโดยใช้แผง DirectAdmin

ในแผง DirectAdmin มีส่วนควบคุมฐานข้อมูล ส่วนการจัดการ MySQL ส่วนนี้แสดงรายการฐานข้อมูลผู้ใช้และการควบคุมหลัก:

การสร้างและการลบฐานข้อมูล

การแก้ไขฐานข้อมูล (อินเทอร์เฟซ phpMyAdmin);

การกู้คืนฐานข้อมูลที่เสียหาย

ตรวจสอบตารางฐานข้อมูล

การเพิ่มประสิทธิภาพตารางฐานข้อมูล

การนำเข้าฐานข้อมูล

การจัดการผู้ใช้ฐานข้อมูล

การส่งออกฐานข้อมูล

ในขณะนี้เราสนใจประเด็นสุดท้าย ใกล้แต่ละฐานข้อมูลจะมีลิงค์ "ดาวน์โหลด"

ในกรณีนี้ เบราว์เซอร์จะแจ้งให้คุณบันทึกไฟล์ลงในคอมพิวเตอร์ของคุณ<имя базы>.gz ในตัวอย่างนี้คือไฟล์ user_database.gz ไฟล์นี้จัดทำในรูปแบบบีบอัดเป็นไฟล์เก็บถาวร gz

วิธีที่ 2: ส่งออกโดยใช้เว็บอินเตอร์เฟส phpMyAdmin

phpMyAdmin เป็นเว็บแอปพลิเคชันโอเพ่นซอร์สที่เขียนด้วย PHP และเป็นเว็บอินเตอร์เฟสสำหรับจัดการ MySQL DBMS phpMyAdmin ช่วยให้คุณสามารถจัดการเซิร์ฟเวอร์ MySQL ผ่านเบราว์เซอร์ ดำเนินการคำสั่ง SQL และดูเนื้อหาของฐานข้อมูลและตาราง แอปพลิเคชันนี้ได้รับความนิยมอย่างมากในหมู่นักพัฒนาเว็บ เนื่องจากช่วยให้คุณสามารถจัดการ MySQL DBMS โดยใช้อินเทอร์เฟซที่ใช้งานง่าย โดยไม่จำเป็นต้องใช้คำสั่ง SQL ที่ซับซ้อนเพื่อทำงานง่ายๆ

หากต้องการไปที่เว็บอินเตอร์เฟส phpMyAdmin ให้เลือกรายการที่เหมาะสมในแผงผู้ดูแลระบบโดยตรง:

ในการเข้าถึง phpMyAdmin คุณจะต้องป้อนข้อมูลเข้าสู่ระบบผู้ใช้ฐานข้อมูลและรหัสผ่านที่คุณระบุเมื่อสร้างฐานข้อมูล สิ่งแรกที่เราต้องทำหลังจากเข้าสู่อินเทอร์เฟซ phpMyAdmin คือการเลือกฐานข้อมูลที่เราสนใจจากรายการ:

มาดูรายละเอียดแต่ละจุดกันดีกว่า

1. ส่งออก รายการนี้ช่วยให้เราสามารถเลือกตารางที่ต้องรวมในการสำรองฐานข้อมูล ตามค่าเริ่มต้น ตารางทั้งหมดจะรวมอยู่ในการสำรองข้อมูล

2. รูปแบบการสำรองข้อมูล มีรูปแบบการสำรองข้อมูลให้เลือกหลายรูปแบบ ในกรณีนี้ เราเลือกประเภท SQL วิธีที่เหลือใช้เพื่อทำงานเฉพาะและไม่ค่อยได้ใช้

3. จุดสำคัญมากคือช่องทำเครื่องหมาย "บันทึกเป็นไฟล์" หากทำเครื่องหมายในช่องนี้ คุณจะได้รับแจ้งให้ดาวน์โหลดสำเนาสำรอง มิฉะนั้นเวอร์ชันข้อความของสำเนาสำรองจะแสดงบนหน้าจอในรูปแบบของคำสั่ง MySQL

4. เทมเพลตชื่อไฟล์ ตามค่าเริ่มต้น ชื่อไฟล์จะเป็นดังนี้:<имя базы>.<формат файла>ในตัวอย่างของเรา นี่คือ user_database.sql

5. การบีบอัด รายการนี้ให้คุณเลือกวิธีการบีบอัดไฟล์:

โดยไม่มีการบีบอัดเช่น ไฟล์ในรูปแบบ sql ขนาดไฟล์จะสอดคล้องกับขนาดของฐานข้อมูล

zip เช่น ไฟล์ในรูปแบบไฟล์เก็บถาวร format.zip ขนาดไฟล์จะลดลงโดยการเก็บสำเนาสำรอง

gzip เช่น ไฟล์ในรูปแบบ .gz ขนาดไฟล์จะลดลงโดยการเก็บสำเนาสำรองไว้

หลังจากเลือกพารามิเตอร์ที่จำเป็นทั้งหมดแล้ว เพียงคลิกปุ่ม "ตกลง" และรอให้เตรียมการสำรองข้อมูล หากฐานข้อมูลมีขนาดใหญ่ อาจต้องใช้เวลาในการเตรียมการสำรองข้อมูล สุดท้ายคุณจะได้รับแจ้งให้บันทึกไฟล์สำรองฐานข้อมูลลงในเครื่องคอมพิวเตอร์ของคุณ

วิธีที่ 3: ส่งออกโดยใช้สคริปต์ Sypex Dumper

Sypex Dumper เป็นผลิตภัณฑ์ซอฟต์แวร์ (สคริปต์ PHP) ซึ่งคุณสามารถสร้างสำเนาสำรอง (สำรอง ดัมพ์) ของฐานข้อมูล MySQL ได้อย่างรวดเร็วและง่ายดาย และยังกู้คืนฐานข้อมูลจากสำเนาสำรองได้หากจำเป็น เว็บไซต์อย่างเป็นทางการของสคริปต์: http://sypex.net/ บนเว็บไซต์ คุณสามารถดาวน์โหลดสคริปต์ Sypex Dumper ได้ฟรี และอ่านเอกสารประกอบสำหรับการทำงานกับผลิตภัณฑ์นี้ Sypex Dumper ช่วยให้คุณสามารถทำงานกับฐานข้อมูลได้เกือบทุกขนาด เราจะดูว่าสคริปต์ทำงานอย่างไรโดยใช้ตัวอย่างของ Sypex Dumper Lite 1.0.8 สคริปต์เวอร์ชันนี้ใช้งานง่ายที่สุด

ดาวน์โหลดสคริปต์ แตกไฟล์เก็บถาวร และอัปโหลดไฟล์ dumper.php ไปยังเซิร์ฟเวอร์ของคุณในไดเร็กทอรี public_html เพื่อให้สคริปต์ทำงานได้อย่างถูกต้อง คุณจะต้องสร้างไดเร็กทอรีสำหรับจัดเก็บข้อมูลสำรองฐานข้อมูล (ดัมพ์) หากต้องการสร้างไดเร็กทอรี ให้ไปที่ File Manager ของแผง Direct Admin ไปที่ไดเร็กทอรี public_html และสร้างไดเร็กทอรีสำรองใหม่

มาดูการทำงานกับสคริปต์ Sypex Dumper กันดีกว่า สคริปต์ถูกเรียกจากแถบที่อยู่ของเบราว์เซอร์: http://example.com/dumper.php โดยที่ example.com คือโดเมนของคุณ สคริปต์จะแจ้งให้คุณป้อนชื่อผู้ใช้และรหัสผ่านของคุณ คุณจะต้องป้อนข้อมูลเข้าสู่ระบบของผู้ใช้ฐานข้อมูลและรหัสผ่านผู้ใช้ฐานข้อมูลที่คุณระบุเมื่อสร้างฐานข้อมูล

หลังจากนี้ สคริปต์จะแจ้งให้คุณเลือกการดำเนินการกับฐานข้อมูลของคุณ: “สำรองข้อมูล / การสร้างสำเนาสำรองฐานข้อมูล” และ “กู้คืน / กู้คืนฐานข้อมูลจากสำเนาสำรอง” เราสนใจประเด็นแรก

รายการ “DB” ช่วยให้คุณสามารถเลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูลของคุณได้ ตัวกรองตารางช่วยให้คุณระบุตารางที่จะรวมอยู่ในการสำรองข้อมูล คุณสามารถดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับตัวกรองได้จากเว็บไซต์ของผู้พัฒนาสคริปต์ Sypex Dumper ในรายการ "วิธีการบีบอัด" คุณสามารถระบุว่าจะใช้การบีบอัด Gzip เมื่อสร้างสำเนาสำรอง (ไฟล์แพ็กที่มีนามสกุล .gz) หรือว่าสำเนาสำรองจะถูกบันทึกในรูปแบบ .sql หรือไม่ รายการระดับการบีบอัดจะใช้เฉพาะเมื่อเลือกวิธีการบีบอัด Gzip เท่านั้น ยิ่งค่าของพารามิเตอร์นี้สูง ขนาดไฟล์ก็จะยิ่งเล็กลง

หลังจากเลือกตัวเลือกการสำรองข้อมูลทั้งหมดแล้ว คลิกนำไปใช้ การสร้างสำเนาสำรองจะเริ่มขึ้น กระบวนการเองจะปรากฏบนหน้าจอมอนิเตอร์:

หลังจากกระบวนการเสร็จสิ้น คุณจะได้รับบันทึกการสร้างข้อมูลสำรอง รวมถึงข้อเสนอในการดาวน์โหลดไฟล์ข้อมูลสำรอง หากคุณต้องการทำงานกับสคริปต์ Sypex Dumper ต่อไป ให้คลิกปุ่ม "ส่งคืน" เป็นที่น่าสังเกตว่าการสำรองข้อมูลที่สร้างโดยสคริปต์นี้จะถูกจัดเก็บไว้ในไดเร็กทอรีสำรองที่เราสร้างไว้ก่อนหน้านี้นั่นคือ ไม่จำเป็นต้องดาวน์โหลดสำเนาสำรอง สามารถจัดเก็บไว้บนเซิร์ฟเวอร์ในไดเร็กทอรีสำรองได้

วิธีที่ 4: ส่งออกโดยใช้สคริปต์ Sypex Dumper

วิธีนี้มีให้เฉพาะผู้ใช้ที่สามารถเข้าถึง SSH (Secure SHell, การควบคุมระยะไกลของระบบปฏิบัติการ) หากต้องการส่งออกการสำรองฐานข้อมูล คุณต้องเชื่อมต่อผ่าน SSH ไปยังเซิร์ฟเวอร์ (เช่น การใช้ไคลเอ็นต์ Putty ssh หากคุณมีระบบปฏิบัติการ Windows หรือใช้เทอร์มินัลหากคุณมีระบบปฏิบัติการ Linux)

เมื่อเชื่อมต่อแล้ว ให้รันคำสั่งต่อไปนี้บนบรรทัดคำสั่ง:

mysqldump -uUSER -pPASS DBNAME > /path/to/dump.sql

โดยที่ "-u" คือพารามิเตอร์ที่ระบุชื่อผู้ใช้ฐานข้อมูลที่จะเชื่อมต่อ (USER) "-p" คือพารามิเตอร์ที่ระบุรหัสผ่านผู้ใช้ฐานข้อมูลที่จะเชื่อมต่อ (PASS) DBNAME คือชื่อฐานข้อมูล "/path/to /dump.sql" - เส้นทางแบบเต็มไปยังไฟล์สำรองฐานข้อมูล ลองดูคำสั่งโดยใช้ตัวอย่างของเรา สมมติว่าไฟล์สำรองข้อมูลอยู่ในโดเมนไดเรกทอรี/example.com/public_html/backup (โดยที่ exapmle.com คือชื่อโดเมนของคุณ) ชื่อผู้ใช้ฐานข้อมูลคือ “user_user” รหัสผ่านคือ “Ide2eib6? ​​ฐานข้อมูลคือ ชื่อคือ “user_database” ซึ่งเป็นสำเนาสำรองของชื่อ - dump.sql ไฟล์สำรองจะอยู่ที่โดเมนพาธ/example.com/public_html/backup/

ในกรณีนี้ คำสั่งในการนำเข้าฐานข้อมูลจะมีลักษณะดังนี้:

mysqldump -user_user -pIde2eib6 user_database > โดเมน/example.com/public_html/backup/dump.sql

หากหลังจากดำเนินการคำสั่งนี้แล้ว ระบบปฏิบัติการไม่รายงานข้อผิดพลาดในการส่งออก แสดงว่าสำเนาสำรองจะถูกส่งออกสำเร็จ ขนาดของการสำรองข้อมูลฐานข้อมูลไม่สำคัญ

วิธีการที่พิจารณานั้นเป็นสากลและช่วยให้คุณสามารถแก้ไขปัญหาการส่งออกฐานข้อมูลได้

มีวิธีการอะไรบ้าง?

1 - การใช้อินเทอร์เฟซ phpMyAdmin

2 - การใช้แผงควบคุมของผู้ให้บริการโฮสต์

3 - การใช้โปรแกรมบุคคลที่สาม

วิธีไหนดีกว่ากัน?

เราขอแนะนำอันแรกเพราะว่า... รูปแบบของมันนั้นเรียบง่ายและเว็บมาสเตอร์ส่วนใหญ่ใช้ เราไม่แนะนำให้ใช้วิธีที่สาม! อย่าเชื่อถือเนื้อหาเว็บไซต์ของคุณกับโปรแกรมของบุคคลที่สาม โดยเฉพาะจากนักพัฒนาที่ไม่รู้จัก คุณสามารถใช้วิธีที่สองได้ แต่อัลกอริธึมของมันแตกต่างกันมากและขึ้นอยู่กับแผงควบคุมของโฮสต์ ดังนั้นเราจะพิจารณาตัวเลือกแรกโดยละเอียดและบอกวิธีถ่ายโอนฐานข้อมูล MySQL อย่างมีประสิทธิภาพโดยไม่สูญเสียหรือทำลายข้อมูล

การสร้างฐานข้อมูลบนโฮสติ้งใหม่

หากคุณต้องการถ่ายโอนฐานข้อมูล MySQL แสดงว่าคุณมีฐานข้อมูลอยู่แล้วและรู้วิธีสร้างฐานข้อมูลดังกล่าว ไม่ว่าในกรณีใด กระบวนการนี้จะแตกต่างกันไปสำหรับผู้ให้บริการโฮสติ้งแต่ละราย แต่ขึ้นอยู่กับอัลกอริทึมทั่วไปเพียงขั้นตอนเดียว:

1 - เรากำลังมองหา "MySQL", "ฐานข้อมูล" หรือส่วนที่คล้ายกัน

2 - คลิก "สร้าง" ในนั้น

3 - ป้อนชื่อของฐานข้อมูล แนบผู้ใช้เข้ากับมัน (โดยปกติแล้วผู้ใช้ฐานข้อมูลจะถูกสร้างขึ้นแล้ว หากไม่เป็นเช่นนั้น ให้สร้างฐานข้อมูลและตั้งค่าสิทธิ์สูงสุด) แล้วป้อนรหัสผ่านสำหรับฐานข้อมูล

4 - สร้างฐานข้อมูลแล้ว แต่ยังคงว่างเปล่า

ส่งออกฐานข้อมูลจากโฮสติ้งเก่า

ตอนนี้เราจะใช้สิ่งที่เรียกว่าการถ่ายโอนข้อมูลฐานข้อมูล เหล่านั้น. มาบันทึกฐานข้อมูลปัจจุบันจากเซิร์ฟเวอร์ไปยังคอมพิวเตอร์ของคุณกันดีกว่า ในการดำเนินการนี้ เราจำเป็นต้องมีอินเทอร์เฟซ phpMyAdmin ซึ่งคุณต้องค้นหาในบัญชีส่วนตัวของผู้ให้บริการโฮสติ้งที่โฮสต์เว็บไซต์ปัจจุบันของคุณ ขอย้ำอีกครั้งว่าไม่มีอัลกอริธึมเดียว ดังนั้นนี่คือไดอะแกรมทั่วไป:

2 - ที่มุมซ้าย ให้เลือกฐานข้อมูลของคุณ (ฐานข้อมูลที่คุณต้องการส่งออกไปยังคอมพิวเตอร์ของคุณ จากนั้นจึงถ่ายโอนไปยังโฮสติ้งอื่น)

4 - คุณอาจถูกขอให้เลือกวิธีการส่งออก “ปกติ” (การตั้งค่าหลายรายการ) หรือ “ด่วน” (การตั้งค่าบางส่วน) ไม่สำคัญว่าคุณจะเลือกอันไหน สิ่งสำคัญคือเปลี่ยนเฉพาะการตั้งค่าที่เราอธิบายด้านล่าง

5 - คุณต้องเลือกตารางทั้งหมดโดยคลิกที่ปุ่ม "เลือกทั้งหมด"

7 - ในกรณีนี้ ให้จำการเข้ารหัสไว้ แต่อย่าแตะต้องมัน

8 - คลิก “ตกลง” และบันทึกไฟล์จากฐานข้อมูลลงในคอมพิวเตอร์ของคุณ โดยทั่วไปไฟล์ที่บันทึกจะมีนามสกุล .sql

การนำเข้าฐานข้อมูลไปยังเซิร์ฟเวอร์ของโฮสต์ใหม่

1 - ในทำนองเดียวกับที่เราค้นหา phpMyAdmin บนโฮสติ้งใหม่

2 - ในนั้นให้เลือกฐานข้อมูลที่ต้องการ (เราสร้างไว้ตอนต้นบทความและยังคงว่างเปล่า)

3 - คลิกที่แท็บ "นำเข้า"

4 - คลิก “เรียกดู” และเลือกฐานข้อมูลที่บันทึกไว้ในคอมพิวเตอร์ของคุณ

5 - ตรวจสอบว่าการเข้ารหัสตรงกับรหัสที่คุณบันทึกฐานข้อมูล

6 - อย่าเปลี่ยนแปลงสิ่งอื่นใด คลิก "ตกลง" จากนั้นฐานข้อมูลของคุณจะถูกนำเข้าไปยังโฮสติ้งใหม่

มีปัญหาอะไรบ้าง?

1 - เมื่อนำเข้าฐานข้อมูล ไม่ควรมีคำสั่งเช่น “ สร้างฐานข้อมูล /*!40101 SET @OLD- หากต้องการตรวจสอบการมีอยู่ ให้เปิดไฟล์ฐานข้อมูลบนคอมพิวเตอร์ของคุณด้วยโปรแกรมแก้ไขข้อความ (Notepad++ จะดีที่สุด) และใช้ Ctrl+A เพื่อค้นหาคำค้นหาเหล่านี้ หากคุณพบ เพียงลบออกแล้วลองนำเข้าฐานข้อมูลอีกครั้ง

2 - เมื่อนำเข้า ฐานข้อมูลที่โฮสต์ใหม่จะต้องว่างเปล่า หากมีตารางอยู่แล้ว ให้เลือกและลบออก

สวัสดีเพื่อนๆ! บทความนี้เกี่ยวข้องกับ blogosphere และในนั้นเราจะดูที่การบันทึกฐานข้อมูลของไซต์บน TimeWeb โฮสติ้ง

TimeWeb โฮสติ้ง เว็บไซต์ฐานข้อมูล

ทุกคนที่สร้างเว็บไซต์ (บล็อก) ของตัวเองรู้ดีว่าเขาต้องบันทึกฐานข้อมูลของเว็บไซต์ของเขาเป็นระยะ มีเหตุผลสำหรับเรื่องนี้

อาจมีปัญหาทางเทคนิคกับโฮสติ้ง ผู้โจมตีสามารถเดารหัสผ่านไปยังแผงผู้ดูแลระบบของเว็บไซต์ของคุณ และปัญหาอื่น ๆ ผู้คนมีความคิดเห็นที่แตกต่างกันเกี่ยวกับความถี่ในการบันทึกฐานข้อมูล แต่ต้องได้รับการบันทึกอย่างชัดเจน ในช่วงแรกหลังจากสร้างบล็อกของตัวเอง (ฉันเขียนในบทความ) ฉันรู้ทันทีว่าต้องทำสำเนาบล็อกนั้น ความพยายามครั้งแรกของฉันไม่สำเร็จแม้ว่าจะไม่มีอะไรซับซ้อนก็ตาม (ฉันเรียนรู้สิ่งนี้ในภายหลัง) เห็นได้ชัดว่าฉันไม่สามารถเพิ่มประสิทธิภาพฐานข้อมูลได้เช่นกัน

ฉันดูบทความบนอินเทอร์เน็ต แต่มันบอกว่าโดยทั่วไป หลังจากฝึกฝนผ่านการลองผิดลองถูก ทุกอย่างก็สำเร็จ ดังนั้นฉันจึงตัดสินใจเขียนบทความสั้น ๆ เกี่ยวกับวิธีสร้างสำเนาฐานข้อมูลของไซต์ไปยังฮาร์ดไดรฟ์ บางทีประสบการณ์ของฉันอาจมีประโยชน์

ไซต์นี้โฮสต์โดย TimeWeb (เอ็นจิ้น WordPress) ฉันบันทึกฐานข้อมูลของเว็บไซต์สัปดาห์ละครั้ง บางคนทำบ่อยขึ้น บางคนน้อยลง มันเป็นเรื่องของทุกคน มีสองโครงสร้างไซต์หลักที่ต้องได้รับการอนุรักษ์: ระบบไฟล์และฐานข้อมูลของไซต์ ระบบไฟล์ประกอบด้วย: เอ็นจิ้น WordPress, ธีมที่ติดตั้ง, ปลั๊กอินและรูปภาพ

ฐานข้อมูลประกอบด้วยเนื้อหาไซต์ (หน้า บทความ ความคิดเห็น) TimeWeb โฮสติ้งทำการสำรองข้อมูลอย่างต่อเนื่องและจัดเก็บไว้ในช่วงสามวันที่ผ่านมา คุณสามารถบันทึกข้อมูลจากแผงผู้ดูแลระบบหรือโดยตรงจากโฮสติ้ง ฉันจะเลือกตัวเลือกที่สอง

ไปที่แผงควบคุมการโฮสต์ (รูปที่ 1)

คลิกปุ่ม "จัดการการสำรองข้อมูล" ในหน้าต่างที่เปิดขึ้น ให้คลิกที่ลูกศรในบรรทัด public_html ยืนยันว่าคุณต้องการบันทึกไฟล์/ไดเร็กทอรี public_html ในโฮมไดเร็กทอรีของคุณจริงๆ (รูปที่ 2)

หลังจากนั้นไม่กี่วินาที การเก็บถาวรจะเสร็จสิ้น จากนั้น โดยไม่ต้องออกจากหน้าต่างนี้ ในบรรทัดที่จดทะเบียนโดเมนของคุณ ให้คลิกที่ลูกศรและยืนยันว่าคุณต้องการบันทึกไฟล์/ไดเร็กทอรีที่เก็บถาวรจริงๆ

การเก็บถาวรใช้เวลาหลายนาที (ทั้งหมดขึ้นอยู่กับปริมาณข้อมูลบนไซต์) หลังจากนั้นคลิก "ไปที่หน้าเริ่มต้น" (ที่ด้านล่างของตาราง) และในหน้าหลักคลิก "ตัวจัดการไฟล์" เราเลือกไฟล์สองไฟล์ที่เราต้องการโดยเก็บวันที่และบันทึกทีละไฟล์

ในการดำเนินการนี้ให้ดับเบิลคลิกที่ไฟล์ที่เลือกทีละไฟล์ (รูปที่ 3) ถามว่าจะบันทึกที่ไหนบันทึก เราซ่อนไฟล์ที่บันทึกไว้ในโฟลเดอร์ที่ปลอดภัย การบันทึกลงในดีวีดีจะไม่เสียหาย อย่าลืมบันทึกข้อมูลของคุณ

และอีกอย่างหนึ่ง หลังจากเขียนบทความนี้ ฉันมีปัญหากับข้อมูลบนเว็บไซต์ (บล็อก) ของฉัน ปัญหาได้รับการแก้ไขเรียบร้อยแล้ว ดังนั้นจากผลงานของฉันจึงมีการเผยแพร่บทความเกี่ยวกับการสร้างการสำรองฐานข้อมูล (บทความ) รวมถึงการบันทึกและเพิ่มประสิทธิภาพฐานข้อมูล (บทความ