วันพุธที่ 30 พฤษภาคม พ.ศ. 2561

Mysql Backup และ Restore ฐานข้อมูลผ่าน command line

เป็นลักษณะการสั่งให้สำรองฐานข้อมูลลงในไฟล์ ในระบบปฎิบัติการ Unix/Linux นั้นเราสามารถใช้คำสั่งบีบอัดร่วมได้เช่น


mysqldump -u root -pMyPass test | gzip > backup.sql.gz

หรือ

mysqldump -u root -pMyPass test | bzip2 > backup.sql.bz2


และยังเรายังสามารถสำรองฐานข้อมูลทั้งหมดด้วย
mysqldump -u root -pMyPass --all-databases | gzip > backup.sql.gz
ตัวอย่างฐานข้อมูลmBase::::
mysqldump --user=root --password=xxxx mbase_data1| gzip > /mbase/datasource/Daily/mbase_`date "+%Y%m%d"`.sql.gz
mysqldump --user=root --password=xxx mbase_data1 >/mbase/datasource/Daily/day/mbase_data1.sql
mysqldump --user=root --password=xxxx  mbase_data| gzip -9 > /home/mbase_`date "+%Y%m%d"`.sql.gz //ทดสอบsamba3



และยังมีค่าอื่นเพื่อระบุรูปแบบได้ตามต้องการ เช่น
--add-drop-table เพื่อสั่งให้ drop ตารางที่มีอยู่ก่อน
--no-data เพื่อสั่งให้สำรองเฉพาะโครงสร้างของตาราง
--add-locks เพื่อสั่งให้มีการล็อคตารางและคลายล็อคตาราง

ส่วนการคืนค่าข้อมูลก็สามารถทำได้ด้วยการใช้คำสั่ง mysql มีรูปแบบการใช้งาน

mysql -u [username] -p[password] [database] < backup.sql

ตัวอย่างการใช้งานเช่น
mysql -u root -pMyPass test < backup.sql

ส่วนถ้าเป็นไฟล์บีบอัดเช่น
gunzip < backup.sql.gz | mysql -u root -pMyPass test

หรือ
bzip2 < backup.sql.bz2 | mysql -u root -pMyPass test

ไม่มีความคิดเห็น:

แสดงความคิดเห็น