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

উবুন্টুতে MySQL ইনস্টল ও কনফিগার করার পদ্ধতি

MySQL একটি ওপেন-সোর্স, শক্তিশালী এবং ব্যাপকভাবে ব্যবহৃত রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) যা ডেটাকে এক বা একাধিক ডেটা টেবিলে সংগঠিত করে যেখানে ডেটা টাইপ একে অপরের সাথে সম্পর্কিত হতে পারে। স্ট্রাকচার্ড কোয়েরি ল্যাঙ্গুয়েজ (SQL) RDBMS-এর সাথে কাজ করে, এবং কেউ যখন বিশাল পরিমাণ ডেটা সংরক্ষণ বা পরিচালনা করতে চায়, তিনি রিলেশনাল ডেটাবেস এবং SQL-এর সেবা গ্রহণ করেন।

এই আর্টিকেলে দেখানো হয়েছে কীভাবে আপনার উবুন্টু ১৮.০৪ সার্ভারে MySQL কনফিগার করতে হয়। এছাড়া প্রমাণীকরণ সক্রিয় করার পদ্ধতি এবং সার্ভিস ম্যানেজমেন্টও দেখানো হয়েছে। শেষে, আপনি সার্ভিস টেস্ট করে সফল কনফিগারেশন যাচাই করতে শিখবেন।

ধাপ ১: MySQL ক্লায়েন্ট ইনস্টলেশন

রিমোট সার্ভারের সাথে সংযোগের জন্য mysql-client ইনস্টল করুন:

sudo apt install mysql-client -y

ক্লায়েন্ট ভার্সন চেক করুন ইনস্টলেশন সফল কিনা যাচাই করতে:

mysql -V

আউটপুট:

mysql Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

এখন আপনি নিচের কমান্ড ব্যবহার করে MySQL সার্ভারের সাথে রিমোট সংযোগ স্থাপন করতে পারেন:

mysql -u <username> -p <password>-h HOSTNAME_OR_IP

ধাপ ২: MySQL সার্ভার ইনস্টলেশন

MySQL ইনস্টল করার আগে নিশ্চিত করুন উবুন্টু সার্ভার সঠিকভাবে ইনস্টল ও কনফিগারড আছে। উবুন্টু ১৮.০৪ সার্ভার ডিফল্টরূপে লেটেস্ট MySQL ভার্সন ৫.৭ রিপোজিটরিতে রাখে। apt কমান্ড ব্যবহার করে সিস্টেম প্যাকেজ আপডেট করুন রিপোজিটরির থেকে:

sudo apt update

এখন MySQL সার্ভার প্যাকেজ ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:

sudo apt install mysql-server -y

ধাপ ৩: MySQL কনফিগারেশন

সাইবার সিকিউরিটি হুমকির এই যুগে, সফল সার্ভার ইনস্টলেশনের পর ডিফল্ট অপশন পরিবর্তন করা একটি স্ট্যান্ডার্ড। এই সেকশন আপনাকে MySQL সার্ভার কনফিগারেশনে গাইড করবে অনিরাপদ ডিফল্ট অপশন দূর করতে যেমন রিমোট রুট লগইন, ডিফল্ট ইউজার অ্যাকাউন্ট, ইত্যাদি। MySQL এই কাজটি সহজ করে দিয়েছে একটি সাধারণ সিকিউরিটি স্ক্রিপ্ট চালিয়ে।

sudo mysql_secure_installation

স্ক্রিপ্ট একাধিক অপশন প্রম্পট করবে Yes বা No উত্তর দিতে MySQL ডিফল্ট সিকিউরিটি পরিবর্তন করতে। উদাহরণস্বরূপ, প্রথম প্রম্পট জিজ্ঞাসা করবে পাসওয়ার্ড যাচাই করার প্লাগইন সেট আপ করতে চান কি, Yes উত্তর দিয়ে এগিয়ে যান।

পরবর্তী প্রম্পট জিজ্ঞাসা করবে MySQL রুট ইউজার অ্যাকাউন্টের পাসওয়ার্ড সেট করতে। আপনি লক্ষ্য করবেন Validate Password প্লাগইন ইনএবল করলে পাসওয়ার্ড স্ট্রেংথ তিনটি লেভেলের পাসওয়ার্ড সিকিউরিটি পলিসি এবং দৈর্ঘ্যের বিপরীত সেট করতে পারছেন।

আপনি যেটি চান সেটি সিলেক্ট করার জন্য নম্বর লিখুন। সিস্টেম তারপর নতুন পাসওয়ার্ড সেট করতে এবং পুনরায় টাইপ করতে বলবে কনফার্মেশনের জন্য:

উবুন্টুতে MySQL ইনস্টল ও কনফিগার করার পদ্ধতি

পাসওয়ার্ড সেট হয়ে গেলে, এটি স্ট্রেংথ দেখাবে এবং জিজ্ঞাসা করবে আপনি আগে বড়তে চান কি।

উবুন্টুতে MySQL ইনস্টল ও কনফিগার করার পদ্ধতি

এখন এটি পরের প্রশ্নগুলো করবে:

  1. অননিম টেস্ট ইউজার রিমুভ করতে
  2. রুট ইউজার থেকে রিমোট লগইন ডিজেবল করতে
  3. টেস্ট ডেটাবেস রিমুভ করতে
  4. প্রivilেজ টেবিল রিলোড করে সকল পরিবর্তন সংরক্ষণ করতে

ডিফল্ট সেটিংস দিয়ে সিকিউরিটি রুল সেট করতে Y টাইপ করুন।

উবুন্টুতে MySQL ইনস্টল ও কনফিগার করার পদ্ধতি

পুরনো MySQL ভার্সন (৫.৭.৬ এর আগে) আপনাকে ম্যানুয়ালি ডেটাবেস ডিরেক্টরি ইনিশিয়ালাইজ করতে বাধ্য করে। কিন্তু এরপরের ভার্সনগুলোতে, নিচের কমান্ড চালান:

mysqld –initialize

ধাপ ৪: MySQL ইউজার প্রমাণীকরণ সমন্বয়

MySQL ইউজার অ্যাকাউন্টের জন্য পাসওয়ার্ড সেট থাকা সত্ত্বেও, ডিফল্ট প্রমাণীকরণ সেটিং সংযোগ স্থাপনের সময় পাসওয়ার্ড ব্যবহার ডিজেবল করে। বদলে, এটি স্বয়ংক্রিয়ভাবে ইউজারকে প্রমাণীকরণ করে auth_socket প্লাগইনের সাহায্যে। প্লাগইনটি ইউজেবিলিটির জন্য চমৎকার ফিচার, কিন্তু এটি প্রায়োগিক নয় যদি আপনি রিমোট ক্লায়েন্ট থেকে ডেটাবেস অ্যাক্সেস করতে চান।

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

১. পাসওয়ার্ড দিয়ে রুট ইউজার প্রমাণীকরণ

পাসওয়ার্ড দিয়ে ইউজার প্রমাণীকরণ নিশ্চিত করতে, আপনি প্লাগইন পরিবর্তন করতে পারেন "auth_socket" থেকে "mysql_native_password"-এ। এই উদ্দেশ্যে, MySQL প্রম্পট স্ক্রিন খুলুন sudo mysql কমান্ড ব্যবহার করে এবং যাচাই করুন কোন প্লাগইন ইউজার প্রমাণীকরণের জন্য ব্যবহৃত হচ্ছে:

SELECT user, authentication_string, plugin, host FROM mysql.user;
উবুন্টুতে MySQL ইনস্টল ও কনফিগার করার পদ্ধতি

উপরের স্ক্রিনশট দেখাচ্ছে যে রুট ক্লায়েন্ট "auth_socket" প্লাগইন ব্যবহার করে নিজেকে প্রমাণীকরণ করছে। রুট ক্লায়েন্ট প্রমাণীকরণ পাসওয়ার্ড দিয়ে শুরু করতে, ALTER USER স্টেটমেন্ট ব্যবহার করুন "mysql_native_password" প্লাগইন সেট করতে।

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

উপরের পরিবর্তনগুলো সংরক্ষণ করুন:

FLUSH PRIVILEGES;

"FLUSH PRIVILEGES" MySQL স্টেটমেন্ট ALTER, INSERT, UPDATE, এবং DELETE ক্লজ দ্বারা ডেটাবেস টেবিলে করা পরিবর্তন সংরক্ষণ করে।

এখন প্রমাণীকরণ কৌশল যাচাই করতে এবং নিশ্চিত করতে যে "auth_socket" প্লাগইন রুট ক্লায়েন্ট দ্বারা ব্যবহার হচ্ছে না, কমান্ডটি আবার চালান:

SELECT user,authentication_string,plugin,host FROM mysql.user;
উবুন্টুতে MySQL ইনস্টল ও কনফিগার করার পদ্ধতি

এখন রুট ইউজার সার্ভারের সাথে সংযোগ করতে পারবেন নিচের কমান্ড দিয়ে প্রমাণীকরণ করে:

sudo mysql -u root -p

২. একটি ডেডিকেটেড ইউজার তৈরি করুন

mysql_native_password ব্যবহার না করে প্রমাণীকরণ সক্রিয় করার অন্য একটি উপায় হল একটি ডেডিকেটেড ইউজার তৈরি করা:

sudo mysql

একটি নতুন অ্যাকাউন্ট তৈরি করুন এবং সকল প্রিভিলেজ দিন প্রশাসনিক লেভেল কন্ট্রোল নতুন ইউজারকে দিতে। তারপর MySQL প্রম্পট থেকে এক্সিট করুন। নিচের SQL কোয়েরিগুলো একটা একটা চালান এটি অর্জন করতে:

CREATE USER 'ubuntu'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'ubuntu'@'localhost' WITH GRANT OPTION;
exit

systemctl দিয়ে MySQL সার্ভিস ম্যানেজ ও টেস্ট করুন

সার্ভিসকে উবুন্টু সার্ভার স্টার্টআপে চালানোর জন্য সেট করুন systemctl enable কমান্ড ব্যবহার করে:

sudo systemctl enable mysql

বরং, আপনি সার্ভার টেস্ট করতে পারেন চলে আছে কিনা টাইপ করে:

sudo systemctl status mysql

অথবা

sudo systemctl status mysql.service
উবুন্টুতে MySQL ইনস্টল ও কনফিগার করার পদ্ধতি

MySQL ইনস্টলেশনের পর সার্ভিস স্বয়ংক্রিয়ভাবে চলে, কিন্তু যদি না চলে, তবে আপনি সার্ভিস শুরু করতে পারেন নিচের কমান্ড দিয়ে:

sudo systemctl start mysql

উবুন্টুতে MySQL সার্ভার দিয়ে শুরু করুন

MySQL একটি ওপেন-সোর্স, ব্যবহারকারী-বান্ধব, স্কেলেবল এবং রবাস্ট ডেটাবেস ম্যানেজমেন্ট সিস্টেম। বরং, এটি LAMP/LEMP স্ট্যাক মডেল বা ওয়েব অ্যাপ্লিকেশন টেকনোলজির একটি অভিন্ন অংশ। এই রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) এর সাম্প্রতিক ভার্সনে সহজ ইনস্টলেশন এবং সহজ কনফিগারেশন রয়েছে।

এই আর্টিকেল আপনাকে একটি বেসিক MySQL সেটআপ তৈরি করতে গাইড করবে যা আপনাকে MySQL কীভাবে কাজ করে শিখতে সাহায্য করবে। এছাড়া ডিফল্ট সেটআপের লুপহোল এড়াতে কিছু প্রাথমিক গুরুত্বপূর্ণ সিকিউরিটি মেজারও কভার করা হয়েছে। আপনি MySQL সিকিউর করার বিষয়ে আরও জানতে পারেন কিছু অ্যাডভান্সড সিকিউরিটি টিপস ফলো করে।

  1. লিনাক্সে Tmux ইনস্টল এবং কনফিগার করার পদ্ধতি

  2. লিনাক্সে bspwm ইনস্টল ও কনফিগার করার পদ্ধতি

  3. উবুন্টুতে প্ল্যাঙ্ক ডক ডাউনলোড, ইনস্টল এবং কনফিগার করার পদ্ধতি

  4. Ubuntu 20.04-এ ফন্ট ইনস্টল করার পদ্ধতি