اطلاعیه

بستن
No announcement yet.

دستورات Backup گیری و Restore دیتابیس MySQL برای مدیریت دیتابیس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
پاک کردن همه
پست های جدید

  • دستورات Backup گیری و Restore دیتابیس MySQL برای مدیریت دیتابیس

    در این پست به شما چندین نمونه عملی درباره چگونگی اجرا کردن عملیات مختلف بک آپ گیری (Backup) دیتابیس های MySQL را با استفاده از دستور mysqldump را نمایش خواهیم داد و همچنین نحوه Restor کردن آنها با کمک دستور mysql و mysqlimport در لینوکس را مشاهده خواهیم کرد.

    mysqldump یک برنامه کلاینتی - کامندی است و برای بک آپ گیری از دیتابیس MySQL لوکال یا ریموت یا مجموعه ای از دیتابیس ها در یک فایل ساده استفاده میشود.

    فرض میکنیم که شما از قبل MySQL را روی سیستم لینوکس تان و با دسترسی های مدیریتی نصب کردید و همچنین دانش کمی روی مای اسکیول دارید. اگر MySQL روی سیستم تان نصب نیست و یا هیچ دانشی روی MySQL ندارید به شما پیشنهاد میکنم لینک های زیر را مطالعه بفرمایید.
    آموزش نصب و راه اندازی MySQL Server در RedHat / CentOS 5 - 7 و Fedora 21 - 23
    دستورات mysql و mysqladmin برای ادمین های دیتابیس ( آموزش دستورات MySQL در لینوکس)


    نحوه بک آپ گرفتن از دیتابیس MySQL

    برای Backup گرفتن از دیتابیس یا دیتابیس های یک MySQL ابتدا باید دیتابیس مورد نظر در سرور MySQL وجود داشته باشد همچنین شما دسترسی لازم به آن Database را داشته باشید. فرمت دستور بک آپ گیری از دیتابیس به شرح زیر میباشد :
    کد PHP:
    # mysqldump -u [username] –p[password] [database_name] > [dump_file.sql] 
    پارامترهای دستور بالا به شرح زیر میباشد :
    [username] : یک Username معتبر در MySQL
    [password] : یک Password معتبر برای یوزر در MySQL
    [database_name] : نام Database معتبری که شما میخواهید از آن بک آپ بگیرید.
    [dump_file.sql] : نام فایل Backup که شما میخواهید ایجاد کنید.



    نحوه بک آپ گیری از یک دیتابیس MySQL مجزا (Single MySQL)

    برای backup گرفتن از یک دیتابیس مجزا از دستور زیر استفاده میکنیم، این دستور از ساختار دیتابیس [rsyslog] به همراه اطلاعات موجود در آن فایل bakcup ی به نام rsyslog.sql ایجاد میکند.



    نحوه Backup گرفتن از چندین دیتابیس MySQL

    اگر شما بخواهید از چندین دیتابیس بک آپ بگیرید باید از دستور زیر استفاده کنید. نمونه دستور زیر از ساختار دیتابیس های rsyslog & syslog و دیتای موجود در آنها در فایل rsyslog_syslog.sql بک آپ میگیرد.
    کد PHP:
    # mysqldump -u root -plinuxzone --databases rsyslog syslog > rsyslog_syslog.sql 


    نحوه بک آپ گیری از تمامی دیتابیس های MySQL

    اگر شما بخواهید از همه دیتابیس ها بک آپ بگیرید از دستور زیر به همراه آپشن --all-database باید استفاده کنید. دستور زیر از تمام دیتابیس ها به همراه ساختار و دیتای موجود در آنها backup ی با نام all-databases.sql خواهد گرفت.
    کد PHP:
    # mysqldump -u root -plinuxzone --all-databases > all-databases.sql 


    نحوه بک آپ گرفتن تنها از ساختار دیتابیس MySQL

    اگر شما تنها بخواهید از ساختار دیتابیس بدون دیتای موجود در آن بک آپ بگیرید از دستور زیر به همراه گزینه --no-data استفاده میکنیم. دستور زیر تنها ساختار دیتابیس rsyslog را درون فایل rsyslog_structure.sql بک آپ میگیرد.
    کد PHP:
    # mysqldump -u root -plinuxzone -–no-data rsyslog > rsyslog_structure.sql 


    نحوه بک آپ گرفتن تنها از Data یک دیتابیس در MySQL

    برای Backup گرفتن تنها از اطلاعات دیتابیس بدون ساختار آن از آپشن --no-create-info به همراه دستور زیر استفاده کنید. این دستور اطلاعات دیتابیس rsyslog درون فایلی به نام rsyslog_data.sql بک آپ میگیرد.
    کد PHP:
    # mysqldump -u root -plinuxzone --no-create-db --no-create-info rsyslog > rsyslog_data.sql 


    نحوه بک آپ گرفتن از تیبل "Tables" مجزا از دیتابیس

    با استفاده از دستور زیر شما میتوانید backup ی از یک Table (جدول) مجزا یا جدول خاص در دیتابیس تان داشته باشید. دستور زیر تنها از جدول wp_post از دیتابیس wordpress بک آپ میگیرد.
    کد PHP:
    # mysqldump -u root -plinuxzone wordpress wp_posts > wordpress_posts.sql 


    نحوه بک آپ گرفتن از چندین جدول "Tables" از دیتابیس

    اگر بخواهید از چندین جدول خاص از دیتابیس بک آپ داشته باشید کافی است هر جدول را با فاصله (space) از دیگری جدا کنید :
    کد PHP:
    # mysqldump -u root -plinuxzone wordpress wp_posts wp_comments > wordpress_posts_comments.sql 


    نحوه بک آپ گرفتن از دیتابیس MySQL ریموت

    دستور زیر از دیتابیس [gallery] در سرور ریموت [172.16.25.126] بک آپی در سرور لوکال خواهد گرفت :
    کد PHP:
    # mysqldump -h 172.16.25.126 -u root -plinuxzone gallery > gallery.sql 

    نحوه ی Restore کردن دیتابیس MySQL

    در توضیحات بالا ما نحوه ی بک آپ گرفتن از دیتابیس ، جدول و تنها ساختار و یا اطلاعات دیتابیس را مشاهده کردیم.اکنون نحوه ی ریستور کردن آنها را با استفاده از دستور زیر بررسی خواهیم کرد.
    کد PHP:
    # # mysql -u [username] –p[password] [database_name] < [dump_file.sql] 


    نحوه ی ریستور کردن دیتابیس مجزایی از MySQL

    برای ریستور کردن یک دیتابیس شما باید یک دیتابیس خالی روی ماشین مقصد ایجاد کنید و دیتابیس را با استفاده از دستور mysql ریستور کنید. برای مثال دستور زیر فایل rsyslog.sql را به دیتابیس rsyslog ریستور میکند.
    کد PHP:
    # mysql -u root -plinuxzone rsyslog < rsyslog.sql 
    اگر شما بخواهید یک دیتابیس را که از قبل وجود دارد روی ماشین مقصد ریستور کنید در نتیجه شما نیاز خواهید داشت که از دستور mysqlimport استفاده کنید.
    کد PHP:
    # mysqlimport -u root -plinuxzone rsyslog < rsyslog.sql 
    به شیوه ای مشابه شما همچنین میتوانید جدول های دیتابیس، ساختار و دیتا را ریستور کنید.

    باعث خوشحالیست در صورت رضایت از این پست آنرا با دوستان خود به اشتراک بگذارید.
    آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 03-31-2017, 07:23 PM.
    Telegram : https://telegram.me/linuxzone

    voip trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : http://www.linkedin.com/profile/view...15&trk=spm_pic

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X
کانال تلگرام منطقه لینوکسی ها