কম্পিউটার টিউটোরিয়াল

Linux-এ MySQL থেকে MariaDB-এ মাইগ্রেশন গাইড

Oracle-এর MySQL অ্যাকোয়জিশনের পর কমিউনিটি-ড্রাইভেন MariaDB তৈরি হয়েছে, যা MySQL-এর বাইনারি কম্প্যাটিবল ড্রপ-ইন রিপ্লেসমেন্ট। অধিকাংশ লিনাক্স ডিস্ট্রো (RHEL, CentOS, Fedora) এখন ডিফল্টে MariaDB ব্যবহার করে।

মাইগ্রেশন ধাপাবলি

১. MySQL ডেটাবেস ও টেবিল প্রস্তুতি (টেস্ট용)

# mysql -uroot -p
mysql> CREATE DATABASE test1;
mysql> USE test1;
mysql> CREATE TABLE tab1(name VARCHAR(30), owner VARCHAR(30), species VARCHAR(20), sex CHAR(1));
mysql> INSERT INTO tab1 VALUES('Chandra','Prakash','Kadarla','m'),('Srinvas','Kadarla','Chary','m');
mysql> QUIT;

২. MySQL ডেটাবেস ব্যাকআপ

mysqldump --all-databases --user=root --password --master-data > backupDB.sql
cp /etc/mysql/my.cnf /opt/my.cnf.bak

৩. MySQL প্যাকেজ আনইনস্টল

service mysqld stop
yum remove mysql-server mysql-client mysql-common

৪. MariaDB রিপোজিটরি যোগ ও ইনস্টল

# /etc/yum.repos.d/MariaDB.repo ফাইল তৈরি
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/5.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

# ইনস্টল
yum install MariaDB-server MariaDB-client

৫. কনফিগ ফাইল রিস্টোর এবং সার্ভিস স্টার্ট

cp /opt/my.cnf /etc/mysql/
service mariadb start

৬. ডেটাবেস ইমপোর্ট ও ভেরিফাই

mysql -u root -p < backupDB.sql

# ভেরিফাই
mysql -u root -p
MariaDB> SHOW DATABASES;
MariaDB> USE test1;
MariaDB> SELECT * FROM tab1;

আউটপুটে ডেটা সঠিক থাকলে মাইগ্রেশন সফল।

মাইগ্রেশনের সুবিধা

  • MariaDB-এ আরও ফাস্টার স্টোরেজ ইঞ্জিন (ColumnStore, MyRocks)
  • বेहतर অপ্টিমাইজার, নئے ফিচার (Window Functions, CTE)
  • ওপেন-সোর্স গ্যারান্টি, কমিউনিটি-ড্রাইভেন ডেভেলপমেন্ট
  • MySQL-সঙ্গে প্রায় ১০০% কম্প্যাটিবল

প্রোডাকশন মাইগ্রেশনের আগে টেস্ট এনভায়রনমেন্টে ভালোভাবে টেস্ট করুন।

  1. MySQL-এ মাস অনুযায়ী রেকর্ড সিলেক্ট করা (MONTH() ফাংশন)

  2. MySQL-এ SUBSTRING_INDEX() ব্যবহার করে কলাম বিভক্ত করা (স্প্লিট)

  3. MySQL에서 VIEW(뷰) 생성하고 조회하기

  4. লিনাক্সে Evolution থেকে Thunderbird-এ মাইগ্রেট করার পদ্ধতি