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


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

mysqldump একটি কমান্ড-লাইন ক্লায়েন্ট প্রোগ্রাম, এটি স্থানীয় বা দূরবর্তী মাইএসকিউএল ডাটাবেস বা একক ফ্ল্যাট ফাইলের ব্যাকআপের জন্য ডাটাবেস সংগ্রহের জন্য ব্যবহৃত হয়।

আমরা ধরে নিয়েছি যে আপনার ইতিমধ্যে মাইএসকিউএল প্রশাসনিক সুবিধাসহ লিনাক্স সিস্টেমে ইনস্টলড রয়েছে এবং আমরা ধরে নিই যে মাইএসকিউএলে আপনার ইতিমধ্যে অল্প পরিমাণ জ্ঞান রয়েছে। আপনি যদি মাইএসকিউএল ইনস্টল না করে থাকেন বা মাইএসকিউএলে কোনও এক্সপোজার না রাখেন তবে নীচে আমাদের নিবন্ধগুলি পড়ুন।

  1. আরএইচইএল/সেন্টোজ 6-5, ফেডোরা 17-12
  2. এ মাইএসকিউএল সার্ভার ইনস্টল করুন
  3. ডাটাবেস প্রশাসনের জন্য 20 মাইএসকিউএল কমান্ড

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

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

# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

নিম্নলিখিত কমান্ডের প্যারামিটারগুলি নিম্নরূপ।

  1. [ব্যবহারকারীর নাম]: একটি বৈধ মাইএসকিউএল ব্যবহারকারী নাম।
  2. li
  3. [পাসওয়ার্ড]: ব্যবহারকারীর জন্য একটি বৈধ মাইএসকিউএল পাসওয়ার্ড
  4. [ডাটাবেস_নাম]: আপনি ব্যাকআপ নিতে চান এমন একটি বৈধ ডেটাবেস নাম
  5. [dump_file.sql]: আপনি তৈরি করতে চান ব্যাকআপ ডাম্প ফাইলের নাম

একক ডাটাবেসের ব্যাকআপ নিতে, নিম্নলিখিতভাবে কমান্ডটি ব্যবহার করুন। কমান্ডটি ডাটাবেস [RSSyslog] স্ট্রাকচারকে ড্রেস করে একটি একক ডাম্প ফাইলে rsyslog.sql নামে ডাম্প করবে।

# mysqldump -u root -ptecmint rsyslog > rsyslog.sql

আপনি যদি একাধিক ডাটাবেসের ব্যাকআপ নিতে চান তবে নীচের কমান্ডটি চালান। নিম্নলিখিত উদাহরণটি কমান্ডটি একটি ডাটাবেস [rsyslog, syslog] কাঠামো এবং ডেটা ব্যাকআপ নেয় যা একটি সিস্টেমে rsyslog_syslog.sql বলে।

# mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

আপনি যদি সমস্ত ডাটাবেসের ব্যাকআপ নিতে চান তবে নীচের কমান্ডটি সমস্ত-ডাটাবেস ব্যবহার করে ব্যবহার করুন। নিম্নলিখিত কমান্ডটি সমস্ত ডাটাবেস.এসকিউএল নামক একটি ফাইলে তাদের কাঠামো এবং ডেটা সহ সমস্ত ডাটাবেসের ব্যাকআপ নেবে।

# mysqldump -u root -ptecmint --all-databases > all-databases.sql

যদি আপনি কেবল ডেটা ছাড়াই ডাটাবেস কাঠামোর ব্যাকআপ চান, তবে কমান্ডটিতে নন-ডেটা বিকল্পটি ব্যবহার করুন। নীচের কমান্ডটি একটি ডাটাবেস [rsyslog] স্ট্রাকচারকে একটি ফাইলের মধ্যে রফতানি করে

# mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

শুধুমাত্র কাঠামো ছাড়াই ডাটাবেস ডেটা ব্যাকআপ করতে, তারপরে কমান্ডের সাহায্যে নন-ক্রিয়েট ইনফরমেশনটি ব্যবহার করুন। এই কমান্ডটি একটি ডাটাবেস [rsyslog] ডেটা একটি ফাইলের মধ্যে নিয়ে যায় rsyslog_data.sql।

# mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

নীচের কমান্ডের সাহায্যে আপনি একক টেবিল বা আপনার ডাটাবেসের নির্দিষ্ট টেবিলের ব্যাকআপ নিতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি কেবল ডাটাবেস ওয়ার্ডপ্রেস থেকে wp_posts টেবিলের ব্যাকআপ নেবে।

# mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

আপনি যদি ডাটাবেস থেকে একাধিক বা নির্দিষ্ট টেবিলের ব্যাকআপ নিতে চান তবে প্রতিটি টেবিলকে স্থান দিয়ে আলাদা করুন।

# mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

নীচের কমান্ডটি স্থানীয় সার্ভারে দূরবর্তী সার্ভারের [172.16.25.126] ডাটাবেস [গ্যালারী] ব্যাকআপ নেয়।

# mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

কীভাবে মাইএসকিউএল ডাটাবেস পুনরুদ্ধার করবেন?

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

# # mysql -u [username] –p[password] [database_name] < [dump_file.sql]

একটি ডাটাবেস পুনরুদ্ধার করতে, আপনাকে লক্ষ্য মেশিনে একটি খালি ডাটাবেস তৈরি করতে হবে এবং msyql কমান্ড ব্যবহার করে ডাটাবেসটি পুনরুদ্ধার করতে হবে। উদাহরণস্বরূপ নিম্নলিখিত কমান্ডটি rsyslog.sql ফাইলটি আরএসএসলগ ডাটাবেসে পুনরুদ্ধার করবে।

# mysql -u root -ptecmint rsyslog < rsyslog.sql

যদি আপনি লক্ষ্যযুক্ত মেশিনে ইতিমধ্যে বিদ্যমান এমন একটি ডাটাবেস পুনরুদ্ধার করতে চান তবে আপনাকে mysqlimport কমান্ডটি ব্যবহার করতে হবে।

# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

একইভাবে আপনি ডাটাবেস সারণি, কাঠামো এবং ডেটা পুনরুদ্ধার করতে পারেন। আপনি যদি এই নিবন্ধটি পছন্দ করেন, তবে এটি আপনার বন্ধুদের সাথে ভাগ করুন।