১. MariaDB কী?
MariaDB হল একটি ওপেন‑সোর্স রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) যা MySQL থেকে ফর্ক করা হয়েছে। এটি মূলত MySQL‑এর মূল ডেভেলপারদের দ্বারা তৈরি করা হয় এবং ডেটা সিকিউরিটি ও পারফরম্যান্সের উপর জোর দিয়ে ডিজাইন করা হয়েছে। এর প্রধান সুবিধাগুলোর একটি হল এটি এন্টারপ্রাইজ এবং ব্যক্তিগত ব্যবহারকারী উভয়ের জন্যই নির্ভরযোগ্য, তবু ব্যবহার করতে সম্পূর্ণ ফ্রি।
MariaDB-র ওভারভিউ এবং মূল বৈশিষ্ট্য
MariaDB MySQL‑এর সঙ্গে উচ্চ সামঞ্জস্যপূর্ণ এবং MySQL সংস্করণ 5.5‑এর উপর ভিত্তি করে বিকশিত হয়েছে। ফলে MySQL ব্যবহারকারীদের জন্য মাইগ্রেশন সাধারণত সহজ, এবং অনেক ক্ষেত্রে বিদ্যমান ডেটাবেস ও কোড পরিবর্তন ছাড়াই ব্যবহার করা যায়। এটি আধুনিক প্রযুক্তি অন্তর্ভুক্ত করে যা সিকিউরিটি ও গতি জোর দেয়, ফলে ক্লাউড পরিবেশেও কার্যকরভাবে কাজ করে।
MariaDB এবং MySQL-এর পার্থক্য
যদিও MariaDB এবং MySQL খুবই সাদৃশ্যপূর্ণ, তাদের উন্নয়ন দিকনির্দেশনা ও লাইসেন্সিংয়ে পার্থক্য রয়েছে। MariaDB ওপেন‑সোর্স কমিউনিটি দ্বারা সক্রিয়ভাবে উন্নত হয়, নতুন ফিচার ও পারফরম্যান্স উন্নতি নিয়মিত যোগ করা হয়। অন্যদিকে, MySQL Oracle Corporation দ্বারা পরিচালিত হয় এবং প্রায়শই বাণিজ্যিক ব্যবহারের জন্য উপযোগী ফিচার অন্তর্ভুক্ত করে। এছাড়া, MariaDB স্বতন্ত্রভাবে কিছু SQL সিনট্যাক্স এক্সটেনশন ও ফিচার গ্রহণ করে, যার ফলে কিছু কার্যকারিতা শুধুমাত্র MariaDB-তে উপলব্ধ।
MariaDB-র প্রধান ব্যবহার ক্ষেত্র এবং সুবিধা
MariaDB ছোট ওয়েবসাইট থেকে বড় স্কেলের ডেটা বিশ্লেষণ সিস্টেম পর্যন্ত বিস্তৃত অ্যাপ্লিকেশনে ব্যবহৃত হয়। এটি বিশেষত গতি ও স্কেলেবিলিটি প্রয়োজনীয় পরিবেশে শক্তিশালী। অনেক ক্লাউড সার্ভিস প্রোভাইডার MariaDB গ্রহণ করে, যা এর উচ্চ পারফরম্যান্স ও নির্ভরযোগ্যতার প্রমাণ।
২. MariaDB-র প্রধান বৈশিষ্ট্য এবং সুবিধা
MariaDB-তে অনেক ফিচার রয়েছে যা ডেটাবেস প্রক্রিয়াকরণকে ত্বরান্বিত করে। এটি ওপেন সোর্স হওয়ায়, এটি স্বাধীনভাবে ব্যবহার ও কাস্টমাইজ করা যায়।
উচ্চ-প্রদর্শন ডেটাবেস ইঞ্জিন
MySQL-এর মতোই, MariaDB InnoDB এবং MyISAM সহ একাধিক স্টোরেজ ইঞ্জিন সমর্থন করে। বিশেষ করে, InnoDB ইঞ্জিন ট্রানজ্যাকশন ম্যানেজমেন্টে উৎকৃষ্ট, যা ডেটা অখণ্ডতা বজায় রেখে উচ্চ গতি প্রক্রিয়াকরণ সম্ভব করে। বড় স্কেলের ডেটা প্রক্রিয়াকরণ প্রয়োজনীয় সিস্টেমগুলো এই ইঞ্জিনগুলো ব্যবহার করে পারফরম্যান্স সর্বোচ্চ করতে পারে।
ওপেন সোর্সের মাধ্যমে স্বাধীনতা
MariaDB GPL (GNU General Public License) এর অধীনে বিতরণ করা হয়, যা যে কেউ বিনামূল্যে ব্যবহার, পরিবর্তন এবং বিতরণ করতে পারে। এর ফলে ব্যবসা ও ব্যক্তিগত ব্যবহারকারী স্বাধীনভাবে সিস্টেম তৈরি ও কাস্টমাইজ করতে পারে। এছাড়া, শক্তিশালী ওপেন‑সোর্স কমিউনিটি সাপোর্ট সমস্যার সমাধান সহজ করে।
বৃহৎ-স্কেল ডেটা এবং ক্লাস্টার পরিবেশের সমর্থন
MariaDB উচ্চ স্কেলেবিলিটি প্রদান করে এবং বড় ডেটাবেস ও বিতরণকৃত পরিবেশে নির্ভরযোগ্যভাবে কাজ করে। Galera ক্লাস্টার ও রেপ্লিকেশন ফিচার ব্যবহার করে ডেটা একাধিক সার্ভারে বিতরণ করা যায়, যা ফল্ট টলারেন্স ও পারফরম্যান্স বাড়ায়। এভাবে ডেটাবেস অবকাঠামো ব্যবসার বৃদ্ধির সঙ্গে সঙ্গে প্রসারিত করা সম্ভব।

৩. MariaDB ইনস্টল করার আগে প্রস্তুতি
MariaDB ইনস্টল করার আগে সিস্টেম পরিবেশ ও নির্ভরশীলতাগুলো প্রস্তুত করা গুরুত্বপূর্ণ। ইনস্টলেশনের আগে যাচাই করার মূল বিষয়গুলো নিচে দেওয়া হল।
সিস্টেমের প্রয়োজনীয়তা যাচাই করুন
MariaDB ইনস্টল করতে আপনার সার্ভারকে নির্দিষ্ট সিস্টেমের প্রয়োজনীয়তা পূরণ করতে হবে, যেমন মেমোরি ক্যাপাসিটি ও উপলব্ধ ডিস্ক স্পেস। বড় পরিমাণের ডেটা বা উচ্চ ওয়ার্কলোড হ্যান্ডলিং পরিবেশে পর্যাপ্ত মেমোরি ও CPU শক্তি বিশেষভাবে গুরুত্বপূর্ণ। সর্বশেষ প্রয়োজনীয়তা অফিসিয়াল ওয়েবসাইটে চেক করুন এবং আপনার ইনফ্রাস্ট্রাকচার পরিবেশ সঠিকভাবে প্রস্তুত করুন।
প্রয়োজনীয় সফটওয়্যার এবং নির্ভরশীলতা যাচাই করুন
MariaDB ইনস্টল করার আগে কিছু প্যাকেজ ও নির্ভরশীলতা আগে থেকেই ইনস্টল করা প্রয়োজন হতে পারে। উদাহরণস্বরূপ, লিনাক্স পরিবেশে আপনি apt অথবা yum প্যাকেজ ম্যানেজার ব্যবহার করে প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করতে পারেন। এছাড়া, ফায়ারওয়াল সেটিংস যাচাই করুন যাতে MariaDB‑এর অ্যাক্সেস ব্লক না হয়।
ব্যাকআপের গুরুত্ব
নতুন ডেটাবেস সিস্টেম ইনস্টল করার আগে, বিদ্যমান ডেটাবেসগুলোর ব্যাকআপ নেওয়া দৃঢ়ভাবে সুপারিশ করা হয়। MySQL থেকে MariaDB-তে মাইগ্রেট করার সময় এটি বিশেষভাবে গুরুত্বপূর্ণ, কারণ সামঞ্জস্যজনিত সমস্যার সম্ভাবনা থাকে। পূর্বে ব্যাকআপ নেওয়া আপনার ডেটার নিরাপত্তা নিশ্চিত করে।
৪. MariaDB ইনস্টলেশন প্রক্রিয়া
MariaDB ইনস্টলেশন প্রক্রিয়া অপারেটিং সিস্টেমের উপর নির্ভর করে ভিন্ন হয়। নিচে Windows, Linux, এবং macOS পরিবেশের জন্য ইনস্টলেশন নির্দেশনা দেওয়া হয়েছে।
Windows এর জন্য
Windows-এ MariaDB ইনস্টল করতে, অফিসিয়াল ওয়েবসাইট থেকে ইনস্টলার ডাউনলোড করে চালান।
১. অফিসিয়াল ওয়েবসাইট থেকে ডাউনলোড
MariaDB অফিসিয়াল ওয়েবসাইট (https://mariadb.org/) পরিদর্শন করুন এবং Windows ইনস্টলার ডাউনলোড করুন। সাইটে আপনি পছন্দসই সংস্করণ নির্বাচন করতে পারেন, এবং সর্বশেষ স্থিতিশীল সংস্করণ ব্যবহার করার সুপারিশ করা হয়।
২. ইনস্টলার ব্যবহার করে সেটআপ
ডাউনলোড করা ইনস্টলার চালান এবং ইনস্টলেশন উইজার্ডের নির্দেশনা অনুসরণ করে MariaDB সেটআপ করুন। উইজার্ড আপনাকে ইনস্টল করার উপাদান এবং ইনস্টলেশন ডিরেক্টরি নির্বাচন করতে দেয়। প্রাথমিক সেটআপের সময় আপনাকে রুট ইউজার পাসওয়ার্ড সেট করতে বলা হবে, তাই নিরাপত্তার জন্য একটি শক্তিশালী পাসওয়ার্ড নির্বাচন করুন।
৩. প্রাথমিক কনফিগারেশন এবং সার্ভিস শুরু করা
ইনস্টলেশন সম্পন্ন হলে, MariaDB সার্ভিস স্বয়ংক্রিয়ভাবে শুরু হয়। যদি আপনাকে ম্যানুয়ালি সার্ভিস পরিচালনা করতে হয়, তবে Windows “Services” ম্যানেজমেন্ট টুল থেকে MariaDB শুরু বা বন্ধ করতে পারেন। সার্ভিস চলমান নিশ্চিত করার পর, Command Prompt অথবা MariaDB ক্লায়েন্ট টুল ব্যবহার করে সংযোগ করুন এবং সঠিকভাবে কাজ করছে কিনা যাচাই করুন।
Linux এর জন্য
Linux-এ, MariaDB ইনস্টলেশন ডিস্ট্রিবিউশন অনুযায়ী ভিন্ন হয় এবং apt বা yum এর মতো প্যাকেজ ম্যানেজার ব্যবহার করে। নিচে Ubuntu এবং CentOS এর জন্য সাধারণ নির্দেশনা দেওয়া হয়েছে।
১. প্যাকেজ ম্যানেজার ব্যবহার করে ইনস্টলেশন (Ubuntu)
sudo apt update
sudo apt install mariadb-server
Ubuntu-এ, আপনি উপরের কমান্ডগুলি ব্যবহার করে MariaDB ইনস্টল করতে পারেন। ইনস্টলেশনের পরে, MariaDB সার্ভিস স্বয়ংক্রিয়ভাবে শুরু হয়।
২. রেপোজিটরি যোগ করা এবং ইনস্টলেশন (CentOS)
CentOS-এ, ডিফল্ট রেপোজিটরিতে MariaDB অন্তর্ভুক্ত নাও থাকতে পারে, তাই ইনস্টলেশনের আগে আপনাকে অফিসিয়াল MariaDB রেপোজিটরি যোগ করতে হতে পারে।
# Add repository
sudo yum install -y https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
# Install MariaDB
sudo yum install -y MariaDB-server MariaDB-client
ইনস্টলেশনের পরে, সার্ভিস শুরু করুন।
৩. প্রাথমিক কনফিগারেশন এবং সার্ভিস শুরু করা
ইনস্টলেশনের পরে, নিম্নলিখিত কমান্ডগুলি ব্যবহার করে MariaDB সার্ভিস শুরু করুন এবং বুটে স্বয়ংক্রিয়ভাবে চালু হওয়ার জন্য সক্রিয় করুন:
sudo systemctl start mariadb
sudo systemctl enable mariadb
সার্ভিস সঠিকভাবে চললে, প্রাথমিক কনফিগারেশন এবং নিরাপত্তা শক্তিশালীকরণ করুন। রুট পাসওয়ার্ড সেট করতে, অ্যানোনিমাস ইউজার মুছে ফেলতে এবং অন্যান্য নিরাপত্তা সেটিংস প্রয়োগ করতে mysql_secure_installation স্ক্রিপ্ট চালান।
sudo mysql_secure_installation
এটি Linux-এ MariaDB এর মৌলিক সেটআপ সম্পন্ন করে।
macOS এর জন্য
macOS-এ, Homebrew ব্যবহার করে সহজে MariaDB ইনস্টল করা যায়। ইনস্টল এবং কনফিগার করার জন্য নিচের ধাপগুলি অনুসরণ করুন।
১. Homebrew ব্যবহার করে ইনস্টলেশন
প্রথমে, নিশ্চিত করুন যে Homebrew ইনস্টল করা আছে। যদি ইনস্টল না থাকে, অফিসিয়াল Homebrew ওয়েবসাইটের নির্দেশনা অনুসরণ করে এটি ইনস্টল করুন।
brew install mariadb
এই কমান্ড চালালে macOS-এ MariaDB ইনস্টল হবে।
২. প্রাথমিক কনফিগারেশন এবং সার্ভিস শুরু করা
ইনস্টলেশনের পরে, MariaDB সার্ভিস শুরু করুন:
brew services start mariadb
শুরু করার পরে, প্রাথমিক সেটআপ এবং নিরাপত্তা শক্তিশালী করতে নিম্নলিখিত কমান্ড চালান:
mysql_secure_installation
এই স্ক্রিপ্ট আপনাকে রুট পাসওয়ার্ড সেট করতে, অপ্রয়োজনীয় ইউজার মুছে ফেলতে এবং টেস্ট ডাটাবেস মুছে ফেলতে সাহায্য করে। এখন macOS-এ MariaDB ব্যবহার করার জন্য প্রস্তুত।

৫. MariaDB এর প্রাথমিক কনফিগারেশন
MariaDB ইনস্টল করার পর, নিরাপত্তা বাড়ানোর জন্য প্রাথমিক কনফিগারেশন করা গুরুত্বপূর্ণ। নিচে মৌলিক নিরাপত্তা সেটিংস এবং অপ্রয়োজনীয় ডাটাবেস এবং ইউজার রিমুভ করার বিষয় দেওয়া হয়েছে।
রুট ইউজার পাসওয়ার্ড সেট করা
ইনস্টলেশনের ঠিক পরে, রুট ইউজার পাসওয়ার্ড প্রায়শই সেট করা হয় না। একটি শক্তিশালী পাসওয়ার্ড কনফিগার করতে নিশ্চিত হোন।
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
এই কমান্ডটি রুট ইউজারের জন্য পাসওয়ার্ড সেট করে এবং নিরাপত্তা উন্নত করে।
অপ্রয়োজনীয় ডাটাবেস এবং ইউজার রিমুভ করা
MariaDB ইনস্টলেশনের ঠিক পরে একটি টেস্ট ডাটাবেস এবং ডিফল্ট ইউজার অন্তর্ভুক্ত করতে পারে। অপ্রয়োজনীয় ডাটাবেস রিমুভ করতে এবং নিরাপত্তা শক্তিশালী করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।
DROP DATABASE test;
DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;
এটি টেস্ট ডাটাবেস এবং অ্যানোনিমাস ইউজার রিমুভ করে, MariaDB নিরাপত্তা উন্নত করে।
নিরাপত্তা সেটিংস শক্তিশালী করা
আপনি mysql_secure_installation কমান্ড চালিয়ে ডিফল্ট নিরাপত্তা সেটিংস আরও উন্নত করতে পারেন। রুট পাসওয়ার্ড সেট করতে, অ্যানোনিমাস ইউজার রিমুভ করতে, রিমোট রুট লগইন নিষ্ক্রিয় করতে এবং অতিরিক্ত নিরাপত্তা কনফিগারেশন প্রয়োগ করতে প্রম্পটগুলি অনুসরণ করুন।
৬. মৌলিক MariaDB অপারেশনস
ইনস্টলেশন এবং প্রাথমিক কনফিগারেশন সম্পূর্ণ করার পর, মৌলিক ডাটাবেস অপারেশন শেখা আপনাকে MariaDB দক্ষতার সাথে ব্যবহার করতে সাহায্য করবে। নিচে ডাটাবেস এবং ইউজার তৈরি করা এবং টেবিল ম্যানেজ করার নির্দেশনা দেওয়া হয়েছে।
ডাটাবেস তৈরি এবং ডিলিট করা
ডাটাবেস তৈরি করা
MariaDB-এ একটি নতুন ডাটাবেস তৈরি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
CREATE DATABASE database_name;
উদাহরণ:
CREATE DATABASE example_db;
এই কমান্ডটি “example_db” নামক একটি ডাটাবেস তৈরি করে।
ডাটাবেস ডিলিট করা
যে ডাটাবেসটি আর প্রয়োজন নেই তা ডিলিট করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
DROP DATABASE database_name;
উদাহরণ:
DROP DATABASE example_db;
ডাটাবেস ডিলিট করার সময় সতর্ক থাকুন, কারণ এই অপারেশনটি অপরিবর্তনীয়।
ইউজার তৈরি এবং প্রিভিলেজ প্রদান করা
ইউজার তৈরি করা
একটি নতুন ইউজার তৈরি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
উদাহরণ:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
প্রিভিলেজ প্রদান করা
একটি নির্দিষ্ট ডাটাবেসে একটি ইউজারকে অ্যাক্সেস প্রিভিলেজ প্রদান করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
উদাহরণ:
GRANT ALL PRIVILEGES ON example_db.* TO 'user1'@'localhost';
প্রিভিলেজ পরিবর্তন প্রয়োগ করতে, চালান:
FLUSH PRIVILEGES;
টেবিল তৈরি এবং ডেটা ইনসার্ট করা
টেবিল তৈরি করা
MariaDB-এ একটি নতুন টেবিল তৈরি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
CREATE TABLE table_name (
column_name1 data_type,
column_name2 data_type,
...
);
উদাহরণ:
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
position VARCHAR(50)
);
ডেটা ইনসার্ট করা
তৈরি করা টেবিলে ডেটা ইনসার্ট করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
INSERT INTO table_name (column_name1, column_name2, ...) VALUES (value1, value2, ...);
উদাহরণ:
INSERT INTO employees (id, name, age, position) VALUES (1, 'Alice', 28, 'Developer');
ডেটা আপডেট এবং ডিলিট করা
বিদ্যমান ডেটা আপডেট করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
UPDATE table_name SET column_name = new_value WHERE condition;
উদাহরণ:
UPDATE employees SET age = 29 WHERE id = 1;
ডেটা ডিলিট করতে, ব্যবহার করুন:
DELETE FROM table_name WHERE condition;
উদাহরণ:
DELETE FROM employees WHERE id = 1;
৭. ট্রাবলশুটিং
নিচে MariaDB ইনস্টলেশন বা ব্যবহারের সময় ঘটতে পারে কিছু সাধারণ ত্রুটি এবং সমস্যা এবং তাদের সমাধান দেওয়া হয়েছে।
সাধারণ ইনস্টলেশন ত্রুটি এবং সমাধান
During MariaDB ইনস্টলেশনের সময়, নির্ভরশীলতা বা প্যাকেজ সংস্করণ সংক্রান্ত ত্রুটি ঘটতে পারে। আপনার প্যাকেজ ম্যানেজারকে সর্বশেষ অবস্থায় আপডেট করা এবং সঠিক রেপোজিটরি যোগ করা প্রায়শই এই সমস্যাগুলোর বেশিরভাগ সমাধান করে।
সার্ভিস শুরু না হলে কী পরীক্ষা করবেন
যদি MariaDB সার্ভিস সঠিকভাবে শুরু না হয়, ত্রুটির কারণ শনাক্ত করতে লগ ফাইলগুলো (উদাহরণস্বরূপ, /var/log/mariadb) পরীক্ষা করুন। এছাড়াও নিশ্চিত করুন যে কোনো পোর্টের সংঘর্ষ নেই এবং সার্ভিসটি ইতিমধ্যে চালু আছে কিনা তা যাচাই করুন।
সংযোগ ত্রুটির কারণ ও সমাধান
যদি বহিরাগত সংযোগ সম্ভব না হয়, আপনার ফায়ারওয়াল সেটিংস এবং MariaDB কনফিগারেশন ফাইল (my.cnf) এর bind-address সেটিং পরীক্ষা করুন। প্রয়োজনে রিমোট সংযোগের অনুমতি দিন।
8. উপসংহার
এই প্রবন্ধে MariaDB এর সারসংক্ষেপ ও ইনস্টলেশন থেকে মৌলিক অপারেশন এবং ট্রাবলশুটিং পর্যন্ত ব্যাখ্যা করা হয়েছে। MariaDB একটি উচ্চ-প্রদর্শনশীল এবং নমনীয় ডেটাবেস, যা ওপেন-সোর্স সমাধান হিসেবে ব্যাপকভাবে ব্যবহৃত হয়। সঠিক ইনস্টলেশন ও নিরাপত্তা শক্তিকরণ সম্পন্ন করে এবং মৌলিক অপারেশনগুলো আয়ত্ত করে, আপনি আপনার ডেটাবেস ব্যবস্থাপনা দক্ষতা উন্নত করতে পারেন।
অধিক শিখতে, MariaDB সম্পর্কে আপনার জ্ঞান গভীর করতে অফিসিয়াল ডকুমেন্টেশন এবং অনলাইন কমিউনিটিগুলো দেখুন।


