অ্যান্ড্রয়েড

কীভাবে মাইএসকিএলডাম্পের সাথে মাইএসকিএল ডেটাবেসগুলি ব্যাকআপ এবং পুনরুদ্ধার করবেন

কিভাবে মাইএসকিউএল, এমএস স্কুয়েল এবং ওরাকল ডেটাবেস উদ্ধার করতে ⚕️???️

কিভাবে মাইএসকিউএল, এমএস স্কুয়েল এবং ওরাকল ডেটাবেস উদ্ধার করতে ⚕️???️

সুচিপত্র:

Anonim

এই টিউটোরিয়ালটি কীভাবে mysqldump ইউটিলিটিটি ব্যবহার করে কমান্ড লাইন থেকে MySQL বা মারিয়াডিবি ডাটাবেসগুলি ব্যাকআপ এবং পুনরুদ্ধার করবেন explains

মাইএসকিल्डম্প ইউটিলিটি দ্বারা নির্মিত ব্যাকআপ ফাইলগুলি মূলত এসকিউএল স্টেটমেন্টের একটি সেট যা মূল ডাটাবেসটি পুনরায় তৈরি করতে ব্যবহার করা যেতে পারে। মাইএসকিএলডাম্প কমান্ডটি সিএসভি এবং এক্সএমএল ফর্ম্যাটে ফাইলগুলি উত্পন্ন করতে পারে।

আপনার মাইএসকিউএল ডাটাবেস অন্য মাইএসকিউএল সার্ভারে স্থানান্তর করতে আপনি মাইএসকিএলড্প ইউটিলিটিটিও ব্যবহার করতে পারেন।

মাইস্ক্লডম্প কমান্ড সিনট্যাক্স

কীভাবে mysqldump কমান্ডটি ব্যবহার করবেন সে সম্পর্কে আগে, আসুন বেসিক সিনট্যাক্সটি পর্যালোচনা করে শুরু করা যাক।

Mysqldump ইউটিলিটি এক্সপ্রেশন নিম্নলিখিত ফর্ম গ্রহণ করে:

mysqldump > file.sql

  • options - mysqldump অপশন file.sql - ডাম্প (ব্যাকআপ) ফাইল

মাইএসকিএলডাম্প কমান্ডটি ব্যবহার করার জন্য মাইএসকিউএল সার্ভারটি অ্যাক্সেসযোগ্য এবং চলমান থাকতে হবে।

একটি একক মাইএসকিউএল ডেটাবেস ব্যাকআপ করুন

মাইএসকিএলডাম্প সরঞ্জামটির সর্বাধিক সাধারণ ব্যবহারের ক্ষেত্রে হ'ল একক ডাটাবেস ব্যাকআপ করা।

উদাহরণস্বরূপ, ব্যবহারকারীর root ব্যবহার করে ডাটাবেস_নাম নামের database_name একটি ব্যাকআপ তৈরি করতে এবং এটি ডাটাবেস_নাম.এসকিএল নামের একটি ফাইলে সংরক্ষণ করতে আপনি নিম্নলিখিত কমান্ডটি চালাবেন:

mysqldump -u root -p database_name > database_name.sql

আপনাকে রুট পাসওয়ার্ড প্রবেশ করতে অনুরোধ জানানো হবে। সফল প্রমাণীকরণের পরে, ডাম্প প্রক্রিয়া শুরু হবে। ডাটাবেস আকারের উপর নির্ভর করে প্রক্রিয়াটি কিছুটা সময় নিতে পারে।

mysqldump database_name > database_name.sql

একাধিক মাইএসকিউএল ডেটাবেস ব্যাকআপ

এক কমান্ডের সাহায্যে একাধিক মাইএসকিউএল ডাটাবেস ব্যাকআপ করতে আপনাকে --database বিকল্পটি ব্যবহার করতে হবে --database আপনি যে ডাটাবেসগুলি ব্যাকআপ নিতে চান তার তালিকা অনুসরণ করতে হবে। প্রতিটি ডাটাবেসের নাম অবশ্যই স্থান দ্বারা পৃথক করা উচিত।

mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql

উপরের কমান্ডটি উভয় ডাটাবেসযুক্ত একটি ডাম্প ফাইল তৈরি করবে।

সমস্ত মাইএসকিউএল ডেটাবেস ব্যাকআপ করুন

সমস্ত মাইএসকিউএল ডাটাবেস ব্যাক আপ করতে --all-databases বিকল্পটি ব্যবহার করুন:

mysqldump -u root -p --all-databases > all_databases.sql

পূর্ববর্তী উদাহরণের মতো একই উপরের কমান্ডটি সমস্ত ডাটাবেসযুক্ত একটি একক ডাম্প ফাইল তৈরি করবে।

পৃথক ফাইলগুলিতে সমস্ত মাইএসকিউএল ডাটাবেস ব্যাকআপ করুন

mysqldump ইউটিলিটি সমস্ত ডাটাবেসগুলিকে পৃথক পৃথক ফাইলগুলিতে ব্যাকআপ দেওয়ার বিকল্প সরবরাহ করে না তবে আমরা লুপের FOR একটি সহজ বাশ দিয়ে সহজেই তা অর্জন করতে পারি:

for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done

উপরের কমান্ডটি ফাইলের নাম হিসাবে ডাটাবেসের নাম ব্যবহার করে প্রতিটি ডাটাবেসের জন্য একটি পৃথক ডাম্প ফাইল তৈরি করবে।

একটি সঙ্কুচিত মাইএসকিউএল ডাটাবেস ব্যাকআপ তৈরি করুন

ডাটাবেসের আকার যদি খুব বড় হয় তবে আউটপুট সংকোচন করা ভাল ধারণা। কেবলমাত্র আউটপুটটি gzip ইউটিলিটিতে পাইপ করতে এবং নীচে প্রদর্শিত হিসাবে এটি কোনও ফাইলে পুনঃনির্দেশ করুন:

mysqldump database_name | gzip > database_name.sql.gz

টাইমস্ট্যাম্প সহ একটি ব্যাকআপ তৈরি করুন

mysqldump database_name > database_name-$(date +%Y%m%d).sql

উপরের কমান্ডটি নিম্নলিখিত ফর্ম্যাট database_name-20180617.sql সহ একটি ফাইল তৈরি করবে

একটি মাইএসকিউএল ডাম্প পুনরুদ্ধার করা হচ্ছে

আপনি mysql সরঞ্জামটি ব্যবহার করে একটি মাইএসকিউএল ডাম্প পুনরুদ্ধার করতে পারেন। কমান্ড জেনারেল সিনট্যাক্সটি নিম্নরূপ:

mysqld database_name < file.sql

বেশিরভাগ ক্ষেত্রে আপনাকে আমদানি করার জন্য একটি ডাটাবেস তৈরি করতে হবে। যদি ডাটাবেস ইতিমধ্যে বিদ্যমান থাকে, প্রথমে আপনাকে এটি মুছতে হবে।

নিম্নলিখিত উদাহরণে প্রথম কমান্ড ডাটাবেস_নাম নামের একটি ডাটাবেস তৈরি করবে এবং তারপরে এটি ডাম্প ডাটাবেস_নাম.এসকিএল আমদানি করবে:

mysql -u root -p -e "create database database_name"; mysql -u root -p database_name < database_name.sql

সম্পূর্ণ মাইএসকিউএল ডাম্প থেকে একটি একক মাইএসকিউএল ডেটাবেস পুনরুদ্ধার করুন

mysql --one-database database_name < all_databases.sql

ওয়ান কমান্ডে একটি মাইএসকিউএল ডেটাবেস রফতানি এবং আমদানি করুন

একটি ডাটাবেস থেকে ডাম্প ফাইল তৈরি করার পরিবর্তে এবং অন্য মাইএসকিউএল ডাটাবেসে ব্যাকআপ আমদানি করে আপনি নিম্নলিখিত ওয়ান-লাইনারটি ব্যবহার করতে পারেন:

mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name

উপরের কমান্ডটি রিমোট হোস্টের একটি remote_database_name ক্লায়েন্টকে আউটপুটটি পাইপ করবে এবং এটি এটি remote_database_name ডাটাবেস নামের একটি ডাটাবেসে আমদানি করবে। কমান্ডটি চালানোর আগে নিশ্চিত হয়ে নিন যে ডেটাবেসটি রিমোট সার্ভারে ইতিমধ্যে রয়েছে।

ক্রোন সহ স্বয়ংক্রিয় ব্যাকআপগুলি

ডাটাবেসগুলির ব্যাক আপ করার প্রক্রিয়াটি স্বয়ংক্রিয় করা ক্রোন জব তৈরি করার মতোই সহজ যা নির্দিষ্ট সময়ে মাইএসকিএলডাম্প কমান্ডটি পরিচালনা করবে।

ক্রোনজব ব্যবহার করে মাইএসকিউএল ডাটাবেসের স্বয়ংক্রিয় ব্যাকআপ সেট আপ করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার ব্যবহারকারীর হোম ডিরেক্টরিতে .my.cnf নামে একটি ফাইল তৈরি করুন:

    sudo nano ~/.my.cnf

    .My.cnf ফাইলে নিম্নলিখিত পাঠ্যটি অনুলিপি করুন এবং আটকান।

    user = dbuser password = dbpasswd

    ডাটাবেস ব্যবহারকারী এবং ব্যবহারকারীর পাসওয়ার্ডের সাথে dbuser এবং dbpasswd প্রতিস্থাপন করতে ভুলবেন না Do

    শংসাপত্রগুলির ফাইলের অনুমতিগুলি সীমিত করুন যাতে কেবলমাত্র আপনার ব্যবহারকারীর এতে অ্যাক্সেস থাকে:

    chmod 600 ~/.my.cnf

    ব্যাকআপগুলি সঞ্চয় করার জন্য একটি ডিরেক্টরি তৈরি করুন:

    mkdir ~/db_backups

    আপনার ব্যবহারকারী ক্রন্টব ফাইলটি খুলুন:

    crontab -e

    নিম্নলিখিত ক্রোন জব যোগ করুন যা প্রতিদিন সকাল 3 টায় ডেটাবেস নামের mydb একটি ব্যাকআপ তৈরি করবে:

    0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql

    আপনার প্রকৃত ব্যবহারকারীর নামের সাথে ব্যবহারকারীর নামটি প্রতিস্থাপন করতে ভুলবেন না।

আপনি 30 দিনেরও পুরানো কোনও ব্যাকআপগুলি মুছতে অন্য ক্রোনজব তৈরি করতে পারেন:

find /path/to/backups -type f -name "*.sql" -mtime +30 -delete

অবশ্যই, আপনার ব্যাকআপের অবস্থান এবং ফাইলের নাম অনুসারে আপনাকে কমান্ডটি সামঞ্জস্য করতে হবে। ফাইন্ড কমান্ড সম্পর্কে আরও জানতে কমান্ড লাইন গাইড ব্যবহার করে লিনাক্সে ফাইলগুলি কীভাবে সন্ধান করতে হয় তা পরীক্ষা করে দেখুন।

উপসংহার

এই টিউটোরিয়ালটি কেবলমাত্র বেসিকগুলি অন্তর্ভুক্ত করে, তবে যে কেউ মাইএসকিএলডাম ইউটিলিটিটি ব্যবহার করে কমান্ড লাইন থেকে মাইএসকিউএল ডাটাবেসগুলি কীভাবে তৈরি করতে এবং পুনরুদ্ধার করবেন তা শিখতে আগ্রহীদের পক্ষে এটি শুরু করা ভাল।

আপনি যদি কোনও মাইএসকিউএল রুট পাসওয়ার্ড ভুলে গিয়ে থাকেন তবে কীভাবে পুনরায় সেট করবেন সে সম্পর্কে টিউটোরিয়ালটিও পরীক্ষা করতে পারেন।

মাইএসকিএল মারিয়াদব ব্যাকআপ মাইএসকিএলডম্প