ডেটাবেস বৃদ্ধি বা সিকিউরিটি কারণে MySQL ডেটা ডিরেক্টরি (/var/lib/mysql) অন্য ভলিউম/লোকেশনে (যেমন /mnt/data_vol/mysql) সরানো যেতে পারে।
পূর্বশর্ত
- Ubuntu মেশিন (sudo ইউজার)
- MySQL ইনস্টলড ও রানিং
- নতুন ভলিউম/লোকেশন মাউন্টেড (যেমন
/mnt/data_vol)
ধাপ ১: বর্তমান ডেটা ডিরেক্টরি চেক
mysql -u root -p mysql> SELECT @@datadir; -- আউটপুট: /var/lib/mysql/
ধাপ ২: MySQL স্টপ ও স্ট্যাটাস চেক
sudo systemctl stop mysql sudo systemctl status mysql # inactive (dead) কনফার্ম করুন
ধাপ ৩: ডেটা কপি (rsync - সংরক্ষণ পারমিশন)
rsync -av /var/lib/mysql /mnt/data_vol/
ধাপ ৪: পুরনো ডেটা ডিরেক্টরি রিনেম (ব্যাকআপ)
sudo mv /var/lib/mysql /var/lib/mysql_backup
ধাপ ৫: MySQL কনফিগ আপডেট (mysqld.cnf)
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf # datadir লাইন পরিবর্তন: datadir = /mnt/data_vol/mysql/
ধাপ ৬: AppArmor এলিয়াস আপডেট
sudo vi /etc/apparmor.d/tunables/alias # নিচে যোগ করুন: alias /var/lib/mysql/ -> /mnt/data_vol/mysql/
AppArmor রিস্টার্ট:
sudo systemctl restart apparmor
ধাপ ৭: মিনিমাম ডিরেক্টরি স্ট্রাকচার তৈরি
sudo mkdir -p /var/lib/mysql/mysql
ধাপ ৮: MySQL স্টার্ট ও ভেরিফাই
sudo systemctl start mysql sudo systemctl status mysql # active (running) কনফার্ম mysql -u root -p mysql> SELECT @@datadir; -- আউটপুট: /mnt/data_vol/mysql/
ধাপ ৯: পুরনো ব্যাকআপ ডিলিট (ঐচ্ছিক)
sudo rm -rf /var/lib/mysql_backup
এই পদ্ধতিতে MySQL ডেটা ডিরেক্টরি সফলভাবে রিলোকেট করা যায়। প্রোডাকশনে মেইনটেন্যান্স উইন্ডোতে করুন এবং ফুল ব্যাকআপ নিন।