امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
پشتیبان‌گیری و بازگردانی mysql در لینوکس
نویسنده پیام
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #1
پشتیبان‌گیری و بازگردانی mysql در لینوکس
توسط دستوز mysqldump میتونید از بانک اطلاعاتی (در این مثال:بانک forumdb ) پشتیبان بگیرید؛
علاوه بر این میتویند با gzip خروجی دستور بالا رو فشرده کنید و همیچنین مشخص کنید تا چند مرحله فشرده سازی انحام بشه

کد php:
mysqldump -u user -h localhost -ppassword forumdb gzip -forumdb.sql.gz 


در مثال بالا از بانک اطلاعاتی forumdb پشتیبان گرفتم و بعد از فشرده کردن در فایلی بنام forumdb.sql.gz ذخیره کردیم؛

همچنین برای اینکار میتونید از اسکریپت زیر هم استفاده کنید:

کد php:
#!/bin/bash
    # Shell script to backup MySql database
    # To backup Nysql databases file to /backup dir and later pick up by your
    # script. You can skip few databases from backup too.
    # For more info please see (Installation info):
    # http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
    # Last updated: Aug - 2005
    # --------------------------------------------------------------------
    # This is a free shell script under GNU GPL version 2.0 or above
    # Copyright (C) 2004, 2005 nixCraft project
    # Feedback/comment/suggestions : http://cyberciti.biz/fb/
    # -------------------------------------------------------------------------
    # This script is part of nixCraft shell script collection (NSSC)
    # Visit http://bash.cyberciti.biz/ for more information.
    # -------------------------------------------------------------------------
     
    
MyUSER="SET-MYSQL-USER-NAME" # USERNAME
    
MyPASS="SET-PASSWORD" # PASSWORD
    
MyHOST="localhost" # Hostname
     
    # Linux bin paths, change this if it can not be autodetected via which command
    
MYSQL="$(which mysql)"
    
MYSQLDUMP="$(which mysqldump)"
    
CHOWN="$(which chown)"
    
CHMOD="$(which chmod)"
    
GZIP="$(which gzip)"
     
    
# Backup Dest directory, change this if you have someother location
    
DEST="/backup"
     
    
# Main directory where backup will be stored
    
MBD="$DEST/mysql"
     
    
# Get hostname
    
HOST="$(hostname)"
     
    
# Get data in dd-mm-yyyy format
    
NOW="$(date +"%d-%m-%Y")"
     
    
# File to store current backup file
    
FILE=""
    
# Store list of databases
    
DBS=""
     
    
# DO NOT BACKUP these databases
    
IGGY="test"
     
    
[ ! -d $MBD ] && mkdir -p $MBD || :
     
    
# Only root can access it!
    
$CHOWN 0.0 -R $DEST
    $CHMOD 0600 $DEST
     
    
# Get all database list first
    
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
     
    
for db in $DBS
    
do
    
skipdb=-1
    
if [ "$IGGY!= "" ];
    
then
    
for i in $IGGY
    
do
    [ 
"$db== "$i] && skipdb=|| :
    
done
    fi
     
    
if [ "$skipdb== "-1" ] ; then
    FILE
="$MBD/$db.$HOST.$NOW.gz"
    
# do all inone job in pipe,
    # connect to mysql using mysqldump for select mysql database
    # and pipe it out to gz file in backup dir :)
    
$MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db $GZIP -$FILE
    fi
    done 


----------------------------------------------------------

بازگردانی اطلاعات (restor)

خیلی ساده؛ اول فایلمون رو از حالت فشرده در میاریم و بعد با mysqldump ویا mysql بازگردانیش میکنیم!!

با اینکار فایلمون از حالت فشرده در میاد
کد php:
gunzip forumdb.gz 

و restor میکنیمش:
کد php:
mysqldump -u user -h localhost -ppassword forumdb forumdb.sql 
ویا:
کد php:
mysql -u user -h localhost -ppassword forumdb forumdb.sql 


منابع:
How can I restore a backup of a MySQL database?
Shell Script To Backup MySql Database Server
۰۱-شهریور-۱۳۹۲, ۰۴:۲۳:۰۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : رسول, lord_viper


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  برنامه نویسی تحت لینوکس godvb 16 19,478 ۱۴-خرداد-۱۳۹۴, ۱۸:۰۳:۳۷
آخرین ارسال: عباس مقتدایی
  حذف متغیر read only در لینوکس javaweb 4 6,242 ۲۹-اردیبهشت-۱۳۹۴, ۱۷:۱۰:۲۰
آخرین ارسال: ilius
  حداکثر تعداد connection به یک port توی لینوکس ajlajlajl 2 2,647 ۱۷-آذر-۱۳۹۳, ۱۲:۰۵:۱۳
آخرین ارسال: ajlajlajl
  مشکل در شناسایی وایرلس در لینوکس اوبونتو england 5 5,240 ۰۹-آذر-۱۳۹۳, ۱۴:۲۸:۴۶
آخرین ارسال: england
  [فوری] Lenovo G510 ,نصب لینوکس مشکل نداشتن درایور hossein5050 3 4,305 ۰۳-مرداد-۱۳۹۳, ۱۱:۵۴:۲۰
آخرین ارسال: behzady
  [آموزشی] بستن فال هندل پروسه‌ در لینوکس babyy 0 3,032 ۲۹-تير-۱۳۹۳, ۱۸:۲۰:۴۸
آخرین ارسال: babyy
  [مقاله] زیر نظر گرفتن پوشه و فایل در لینوکس babyy 0 2,179 ۱۴-تير-۱۳۹۳, ۲۲:۰۱:۵۸
آخرین ارسال: babyy
  [سوال] مشکل نصب کالی لینوکس رو یVMware Workstation hossein5050 4 6,245 ۰۹-تير-۱۳۹۳, ۲۰:۰۶:۴۵
آخرین ارسال: hossein5050
  [مقاله] شروع لینوکس babyy 165 89,538 ۰۶-مهر-۱۳۹۲, ۰۲:۳۸:۵۲
آخرین ارسال: babyy
  زبان ماشین در لینوکس Ghoghnus 9 9,279 ۰۴-خرداد-۱۳۹۲, ۲۳:۴۹:۲۲
آخرین ارسال: mhpc2009

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS