สํารองและกู้คืนฐานข้อมูล MySQL สําหรับ Windows
สภาพแวดล้อมการยืนยันการทํางาน
- MySQL
-
- MySQL 8.0 รุ่นชุมชน
- หน้าต่าง
-
- หน้าต่าง 11
สภาพแวดล้อมที่ต้องการ
- MySQL
-
- MySQL 8.0
- หน้าต่าง
-
- หน้าต่าง 11
- หน้าต่าง 10
- เซิร์ฟเวอร์ Windows
-
- หน้าต่างเซิร์ฟเวอร์ 2022
- วินโดวส์เซิร์ฟเวอร์ 2019
- วินโดวส์ เซิร์ฟเวอร์ 2016
- Windows Server 2012 R2
เงื่อนไขเบื้องต้น
- ต้องติดตั้งฐานข้อมูล MySQL
- ฐานข้อมูลที่จะสํารองข้อมูลมีอยู่แล้ว
- กําหนดค่าตัวแปรสภาพแวดล้อมและอนุญาตให้คุณเรียกใช้ MySQL จากพรอมต์คําสั่ง
เกี่ยวกับประเภทการสํารองข้อมูล
ฉันจะไม่ลงรายละเอียดที่นี่ แต่ MySQL มีการสํารองข้อมูลประเภทต่อไปนี้:
ประเภทคําสั่งสํารองข้อมูล | ข้อมูล | สํารอง หมายเหตุ |
---|---|---|
mysql ดัมพ์ | การสํารองข้อมูลเชิงตรรกะ | วิธีการสํารองข้อมูลแบบเก่า GUI ยังใช้สิ่งนี้ |
mysql ปั๊ม | การสํารองข้อมูลเชิงตรรกะ | เวอร์ชันปรับปรุงของ mysqldump |
ยูทิลิตี้การถ่ายโอนข้อมูลอินสแตนซ์ MySQL Shell และยูทิลิตี้การโหลดการถ่ายโอนข้อมูล | การสํารองข้อมูลเชิงตรรกะ | เป็นการสํารองข้อมูลเชิงตรรกะ เป็นข้อมูลล่าสุดในขณะนี้ |
Percona XtraBackup | การสํารองข้อมูลทางกายภาพ | ผลิตภัณฑ์ของบุคคลที่สามที่อนุญาตให้สํารองข้อมูลทางกายภาพ |
ปลั๊กอินโคลน | การสํารองข้อมูลทางกายภาพ | การสํารองข้อมูลทางกายภาพอย่างเป็นทางการของ MySQL อย่างไรก็ตาม จําเป็นต้องมีปลั๊กอินเพิ่มเติม |
การสํารองฐานข้อมูลด้วย GUI (MySQL Workbench)
หากคุณต้องการทํางานอย่างปลอดภัยใน GUI โดยไม่ต้องใช้คําสั่งคุณสามารถทําการสํารองข้อมูลใน MySQL Workbench ประเภทการสํารองข้อมูลที่ดําเนินการใน MySQL Workbench คือ "mysqldump"
เปิด MySQL Workbench
เลือกการเชื่อมต่อกับฐานข้อมูลที่คุณต้องการสํารองข้อมูล
เมื่อฐานข้อมูลที่จะสํารองข้อมูล ให้เลือกแท็บ การดูแลระบบ จาก Navigator ทางด้านซ้าย แล้วเลือก การส่งออกข้อมูล
หน้าจอ การส่งออกข้อมูล จะเปิดขึ้น หน้าจอค่อนข้างใหญ่ ดังนั้นให้ขยายหน้าต่างจนกว่าคุณจะเห็นปุ่ม "เริ่มส่งออก" ที่มุมล่างขวา
ขั้นแรก ให้เลือกฐานข้อมูลที่คุณต้องการสํารองข้อมูล คุณยังสามารถเลือกได้มากกว่าหนึ่งรายการ
ใน "วัตถุที่จะส่งออก" คุณสามารถเลือกได้ว่าจะสํารองขั้นตอนทริกเกอร์ ฯลฯ ได้เช่นกัน รายการนี้เป็นทางเลือก
ใน "ตัวเลือกการส่งออก" คุณสามารถเลือกจากสองตัวเลือกต่อไปนี้:
คําอธิบายประเภท | |
---|---|
ส่งออกไปยังโฟลเดอร์โครงการถ่ายโอนข้อมูล | เอาต์พุตเป็นตารางหรือไฟล์กระบวนงานต่อกระบวนงานในโฟลเดอร์ที่กําหนด |
ส่งออกไปยังไฟล์ในตัว | ฝังทุกอย่างไว้ในไฟล์เดียวและส่งออก |
ไม่สําคัญว่าคุณจะส่งออกอันไหน หากคุณเลือกด้านบน จะง่ายเพราะคุณสามารถลบออกได้อย่างง่ายดายหากคุณต้องการกู้คืนเฉพาะตารางเฉพาะ การเลือกต่อไปนี้จะถูกส่งออกไปยังไฟล์เดียว ทําให้ง่ายต่อการย้ายและจัดการไฟล์เป็นหน่วยฐานข้อมูล คราวนี้ฉันได้เลือกสิ่งต่อไปนี้
เมื่อกําหนดค่าแล้ว ให้คลิกที่ เริ่มส่งออก ปุ่มที่ด้านล่างขวาเพื่อเริ่มการส่งออก
การส่งออกเริ่มต้นและเสร็จสมบูรณ์
หากคุณส่งออกในไฟล์เดียว จะมีลักษณะดังนี้:
หากคุณส่งออกไปยังโฟลเดอร์ จะมีลักษณะดังนี้:
การกู้คืนฐานข้อมูลด้วย GUI (MySQL Workbench)
เปิด MySQL Workbench เลือกการเชื่อมต่อของคุณเลือกแท็บการดูแลระบบจากตัวนําทางทางด้านซ้ายแล้วเลือกการนําเข้า/กู้คืนข้อมูล ดังที่ระบุว่า "นําเข้า/กู้คืน" คุณสามารถสร้างฐานข้อมูลใหม่จากไฟล์ที่ส่งออกหรือเขียนทับฐานข้อมูลเดิมได้
ขยายหน้าต่างจนกว่าคุณจะเห็นปุ่ม "เริ่มนําเข้า" ที่มุมล่างขวา
โปรดเลือก "ตัวเลือกการนําเข้า" ตามรูปแบบไฟล์ที่ส่งออก เนื่องจากฉันส่งออกเป็นไฟล์เดียวในครั้งนี้ฉันจึงเลือก "นําเข้าจากไฟล์ในตัว" ด้านล่างและระบุไฟล์ที่ส่งออก
เลือกสคีมา (ฐานข้อมูล) ที่จะคืนค่า คุณสามารถกู้คืนไปยังฐานข้อมูลที่มีอยู่ หรือคุณสามารถกู้คืนเป็นฐานข้อมูลใหม่ได้จากปุ่ม "ใหม่" ทางด้านขวา
หลังจากระบุแล้ว ให้คลิกปุ่ม "เริ่มนําเข้า" ที่มุมล่างขวาเพื่อเริ่มการกู้คืน
ตรวจสอบให้แน่ใจว่าข้อมูลของคุณกลับมาเมื่อการกู้คืนเสร็จสมบูรณ์
สร้างบัญชีสําหรับการสํารองฐานข้อมูลผ่านคําสั่ง
ไม่มีปัญหาหากคุณต้องการเรียกใช้คําสั่งเพื่อสํารองข้อมูลเพียงครั้งเดียว แต่ตัวอย่างเช่นหากคุณเตรียมคําสั่งเป็นไฟล์ล่วงหน้าและเรียกใช้คุณต้องเขียนรหัสผ่านเป็นข้อความธรรมดาดังนั้นจึงปลอดภัยกว่าที่จะสร้างบัญชีแยกต่างหากสําหรับการสํารองข้อมูล
สิทธิ์ที่จําเป็นสําหรับการสํารองข้อมูลมีดังนี้ แต่อาจเพิ่มขึ้นหรือลดลงขึ้นอยู่กับข้อมูลที่ต้องการ
- เหตุการณ์
- ล็อคโต๊ะ
- เลือก
- แสดงมุมมอง
หากคุณสร้างด้วยคําสั่ง มันจะมีลักษณะดังนี้: เรียกใช้ด้วยเครื่องมือบรรทัดคําสั่ง MySQL
create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;
ตัวอย่าง
create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;
สิทธิ์ของโฟลเดอร์สําหรับปลายทางการสํารองข้อมูล
สิทธิ์สําหรับโฟลเดอร์ที่เก็บแฟ้มสํารองข้อมูลต้องถูกตั้งค่าเป็นสิทธิ์เดียวกันกับสิทธิ์ในการดําเนินการคําสั่ง ถ้าคุณต้องการเรียกใช้คําสั่งที่มีสิทธิ์ของผู้ดูแลระบบ คุณไม่จําเป็นต้องตั้งค่าสิทธิ์เพิ่มเติมใดๆ สําหรับโฟลเดอร์
การสํารองฐานข้อมูลด้วยคําสั่ง (mysqldump)
มีการสํารองข้อมูลคําสั่งหลายรายการ แต่คราวนี้ฉันจะสํารองข้อมูลด้วย "mysqldump" เก่าและเสถียร
คลิกขวาที่เมนูเริ่มและเปิดเทอร์มินัล (พรอมต์คําสั่ง) โปรดทราบว่าไม่ใช่ "ไคลเอนต์บรรทัดคําสั่ง MySQL 8.0"
คุณสามารถสํารองข้อมูลได้ด้วยคําสั่งต่อไปนี้:
mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"
ตัวอย่าง
mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"
--default-character-set=utf8
จะเป็นรหัสอักขระเดียวกันกับเมื่อสํารองข้อมูลใน GUI สิ่งนี้ทําให้คุณสามารถนําเข้าไปยัง GUI ได้เช่นกัน- อย่าเว้นวรรคระหว่างช่องรหัสผ่าน
-p
และรหัสผ่าน- หากคุณต้องการส่งออกข้อมูลพื้นที่ตารางโปรด
--no-tablespaces
ยกเลิกการเลือก ในกรณีนั้น จําเป็นต้องมีสิทธิ์ของผู้ใช้PROCESS
การดําเนินการ
ไฟล์สํารองจะถูกสร้างขึ้นในตําแหน่งที่ระบุ
การกู้คืนฐานข้อมูลด้วยคําสั่ง (mysqldump)
ไฟล์ที่สํารองข้อมูลด้วย mysqldump อยู่ในรูปแบบที่สามารถเรียกใช้ใน SQL ได้ ดังนั้นคุณต้องเรียกใช้ SQL เป้าหมายเท่านั้น ฉันคิดว่าการกู้คืนมักจะทําด้วยตนเองดังนั้นจึงไม่เป็นไรที่จะเรียกใช้บนบัญชีรูท
หากคุณต้องการเรียกใช้จากคําสั่ง ให้เรียกใช้ที่พรอมต์คําสั่งแทน PowerShell นี่เป็นเพราะ <
PowerShell ไม่อนุญาตให้ใช้สัญลักษณ์
เรียกใช้คําสั่งต่อไปนี้:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
ตัวอย่าง
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
การสํารองฐานข้อมูลอัตโนมัติ
สําหรับ Windows เป็นเรื่องปกติที่จะใช้ตัวกําหนดตารางเวลางาน เริ่มต้นด้วยการสร้างไฟล์แบทช์ สร้างไฟล์ค้างคาวป้อนเนื้อหาตามที่สํารองข้อมูลด้วยคําสั่งและบันทึก บันทึกรหัสอักขระด้วย Shift-JIS ตําแหน่งและชื่อไฟล์ของไฟล์แบทช์สามารถเป็นไปได้ตามอําเภอใจ
ลงทะเบียนกับตัวจัดกําหนดการงาน คลิกขวาที่เมนูเริ่มแล้วเลือก "จัดการคอมพิวเตอร์"
จากเมนูด้านซ้าย ให้เลือก การจัดการคอมพิวเตอร์ > เครื่องมือระบบ > ตัวจัดกําหนดการงาน>ไลบรารีตัวจัดกําหนดตารางเวลางาน เลือก สร้างงาน จากเมนูทางด้านขวา
ตั้งค่าแท็บ ทั่วไป "ชื่อ" จะแสดงในรายการงาน ดังนั้นควรใส่ชื่อที่เข้าใจง่าย ในตัวเลือกความปลอดภัย ให้เลือก "เรียกใช้ไม่ว่าผู้ใช้เข้าสู่ระบบหรือไม่"
แท็บทริกเกอร์จะตั้งค่าเวลาที่ควรทําการสํารองข้อมูล ควรตั้งค่านี้ตามการใช้งานของคุณ
ในแท็บ Operations ให้ตั้งค่าไฟล์แบทช์ที่คุณเพิ่งสร้างขึ้นเพื่อเปิดใช้
เมื่อคุณตั้งค่าแต่ละรายการแล้ว ให้ยืนยันด้วยปุ่ม OK
ป้อนรหัสผ่านของคุณเพื่อลงทะเบียนเพื่อเรียกใช้ในบัญชีที่ระบุ
ตอนนี้ตรวจสอบว่าการสํารองข้อมูลจะทํางานตามเวลาที่ระบุหรือไม่