পুরানো থেকে নতুন সার্ভারে সমস্ত মাইএসকিউএল ডেটাবেস কীভাবে স্থানান্তর করবেন


সার্ভারের মধ্যে কোনও মাইএসকিউএল/মারিয়াডিবি ডাটাবেস স্থানান্তরিত বা স্থানান্তরিত করতে সাধারণত কেবলমাত্র কয়েকটি সহজ পদক্ষেপ নেওয়া হয় তবে ডেটা ট্রান্সফার আপনি যে পরিমাণ ডেটা ট্রান্সফার করতে চান তার উপর নির্ভর করে কিছু সময় নিতে পারে।

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

  • মাইএসকিউএলের একই সংস্করণ একই বন্টন সহ উভয় সার্ভারে ইনস্টল করা আছে তা নিশ্চিত করুন
  • ডাটাবেস ডাম্প ফাইল এবং আমদানি করা ডাটাবেস ধরে রাখতে উভয় সার্ভারে পর্যাপ্ত ফাঁকা জায়গা রয়েছে তা নিশ্চিত করুন।
  • ডাটাবেসের ডেটা > ডিরেক্টরিটি অন্য সার্ভারে স্থানান্তর করার বিষয়টি কখনই বিবেচনা করবেন না। ডাটাবেসের অভ্যন্তরীণ কাঠামো নিয়ে কখনই গণ্ডগোল করবেন না, যদি আপনি এটি করেন তবে আপনাকে ভবিষ্যতে সমস্যার মুখোমুখি হতে হবে

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

প্রথমে আপনার পুরানো সার্ভারে লগইন করে শুরু করুন এবং যেমন প্রদর্শিত হয়েছে তেমন systemctl কমান্ডটি ব্যবহার করে mysql/mariadb পরিষেবা বন্ধ করুন।

# systemctl stop mariadb
OR
# systemctl stop mysql

তারপরে mysqldump কমান্ডটি ব্যবহার করে আপনার সমস্ত মাইএসকিউএল ডাটাবেসগুলি একটি একক ফাইলে ফেলে দিন।

# mysqldump -u [user] -p --all-databases > all_databases.sql

ডাম্পটি শেষ হয়ে গেলে আপনি ডাটাবেসগুলি স্থানান্তর করতে প্রস্তুত।

আপনি যদি একটি একক ডাটাবেস ডাম্প করতে চান তবে আপনি এটি ব্যবহার করতে পারেন:

# mysqldump -u root -p --opt [database name] > database_name.sql

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

আপনার ডিরেক্টরিতে ডাম্প ফাইলগুলি হোম ডিরেক্টরি অনুসারে নতুন সার্ভারে স্থানান্তর করতে scp কমান্ডটি ব্যবহার করুন।

# scp all_databases.sql [email :~/       [All Databases]
# scp database_name.sql [email :~/       [Singe Database]

একবার সংযোগ স্থাপন করার পরে ডাটাবেসটি নতুন সার্ভারে স্থানান্তরিত হবে।

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

একবার মাইএসকিউএল ডাম্প ফাইলটি নতুন সার্ভারে স্থানান্তরিত হয়ে গেলে, আপনি মাইএসকিউএলে আপনার সমস্ত ডাটাবেস আমদানি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

আমদানি শেষ হয়ে গেলে, আপনি mysql শেলটিতে নিম্নলিখিত কমান্ডটি ব্যবহার করে উভয় সার্ভারের ডাটাবেসগুলি যাচাই করতে পারবেন।

# mysql -u user -p
# show databases;

মাইএসকিউএল ডেটাবেস এবং ব্যবহারকারীদের নতুন সার্ভারে স্থানান্তর করুন

আপনি যদি আপনার সমস্ত মাইএসকিউএল ডাটাবেস, ব্যবহারকারী, অনুমতি এবং ডেটা স্ট্রাকচার পুরানো সার্ভারকে নতুনতে স্থানান্তর করতে চান তবে mysysl/mariadb ডেটা ডিরেক্টরি থেকে সমস্ত কন্টেন্টটি নতুন সার্ভারে অনুলিপি করার জন্য rsync কমান্ডটি ব্যবহার করতে পারেন।

# rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

একবার স্থানান্তর সম্পূর্ণ হয়ে গেলে, আপনি মাইএসকিএল/মারিয়্যাডবি ডেটা ডিরেক্টরির মালিকানা ব্যবহারকারী এবং গোষ্ঠী মাইএসকিএল-তে সেট করতে পারেন, তারপরে সমস্ত ফাইল স্থানান্তরিত হয়েছে কিনা তা পরীক্ষা করার জন্য একটি ডিরেক্টরি তালিকা তৈরি করুন।

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

এখানেই শেষ! এই নিবন্ধে, আপনি কীভাবে সহজেই সমস্ত মাইএসকিউএল/মারিয়াডিবি ডাটাবেসকে একটি সার্ভার থেকে অন্য সার্ভারে স্থানান্তর করতে শিখেন learned অন্যান্য পদ্ধতির তুলনায় আপনি এই পদ্ধতিটি কীভাবে আবিষ্কার করবেন? আমাদের কাছে পৌঁছানোর জন্য আমরা নীচের মন্তব্য ফর্মের মাধ্যমে আপনার কাছ থেকে শুনতে চাই।