MySQL কমান্ড লাইন গাইড: শুরুকারীদের জন্য অপরিহার্য কমান্ড (উদাহরণসহ)

目次

১. ভূমিকা

১.১ MySQL ওভারভিউ এবং কেন কমান্ড লাইন গুরুত্বপূর্ণ

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

১.২ এই প্রবন্ধের উদ্দেশ্য

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

১.৩ এই গাইডটি কার জন্য

এই গাইডটি MySQL-এ আগ্রহী নবীন থেকে মধ্যম স্তরের ব্যবহারকারীদের জন্য তৈরি করা হয়েছে। এটি তাদের জন্য আদর্শ, যাদের মৌলিক ডেটাবেস জ্ঞান আছে এবং MySQL ব্যবহার করে ডেটা পরিচালনা শুরু করতে বা ওয়েব অ্যাপ্লিকেশন তৈরি করতে চান।

২. মৌলিক MySQL কমান্ড

২.১ ডেটাবেসে সংযোগ ও সংযোগ বিচ্ছিন্ন করা

MySQL-এ প্রবেশ করতে প্রথমে আপনাকে ডেটাবেস সার্ভারে সংযোগ করতে হবে। MySQL সার্ভারে লগইন করার জন্য সবচেয়ে সাধারণভাবে ব্যবহৃত কমান্ডগুলোর একটি হল mysql -u root -p। আপনি যখন এই কমান্ডটি চালাবেন, MySQL ক্লায়েন্ট শুরু হবে এবং নির্দিষ্ট ব্যবহারকারী (এই ক্ষেত্রে, root) হিসেবে লগইন করার চেষ্টা করবে।

mysql -u root -p

এই কমান্ডটি প্রবেশ করার পরে, আপনাকে পাসওয়ার্ড দিতে বলা হবে। সঠিক পাসওয়ার্ড দিলে, আপনি MySQL কমান্ড লাইনে প্রবেশ করতে পারবেন।

সংযোগ বিচ্ছিন্ন করতে, exit অথবা quit কমান্ড ব্যবহার করুন।

exit

এটি আপনাকে MySQL সার্ভার থেকে লগআউট করবে এবং কমান্ড প্রম্পটে ফিরে নিয়ে যাবে।

২.২ ডেটাবেস তৈরি ও তালিকাভুক্ত করা

নতুন একটি ডেটাবেস তৈরি করতে CREATE DATABASE কমান্ড ব্যবহার করুন। নিম্নের উদাহরণে mysqldemo নামের একটি ডেটাবেস তৈরি করা হয়েছে।

CREATE DATABASE mysqldemo;

কমান্ডটি চালানোর পরে, আপনি “Query OK” বার্তা দেখবেন, যা নিশ্চিত করে যে ডেটাবেসটি সফলভাবে তৈরি হয়েছে।

আপনি যে ডেটাবেসগুলো তৈরি করেছেন সেগুলোর তালিকা দেখতে SHOW DATABASES কমান্ড ব্যবহার করুন।

SHOW DATABASES;

এই কমান্ডটি সার্ভারে বর্তমানে উপলব্ধ সব ডেটাবেসের তালিকা দেখায়।

২.৩ ডেটাবেস নির্বাচন করা

যদি একাধিক ডেটাবেস থাকে, তবে আপনাকে নির্দিষ্ট করতে হবে কোনটি নিয়ে কাজ করবেন। USE কমান্ড ব্যবহার করে আপনি যে ডেটাবেসে কাজ করতে চান তা নির্বাচন করতে পারেন।

USE mysqldemo;

এটি mysqldemo কে বর্তমান ডেটাবেস হিসেবে সেট করে, এবং পরবর্তী সব কমান্ড এই ডেটাবেসের ওপর কার্যকর হবে।

৩. মৌলিক টেবিল কমান্ড

৩.১ টেবিল তৈরি করা

ডেটাবেসে ডেটা সংরক্ষণ করতে প্রথমে আপনাকে একটি টেবিল তৈরি করতে হবে। নতুন টেবিল তৈরি করতে CREATE TABLE কমান্ড ব্যবহার করুন। উদাহরণস্বরূপ, যদি আপনি users নামের একটি টেবিল তৈরি করতে চান, তবে নিম্নের মতো কমান্ড লিখুন।

CREATE TABLE users (
    id INT AUTO_INCREMENT,
    name VARCHAR(255),
    email VARCHAR(255),
    PRIMARY KEY (id)
);

এই কমান্ডটি users টেবিলে তিনটি কলাম (id, name, এবং email) সংজ্ঞায়িত করে। id কলামটি একটি ইন্টিজার টাইপ, যার অটো-ইনক্রিমেন্ট (AUTO_INCREMENT) সক্রিয় এবং এটি প্রাইমারি কী (PRIMARY KEY) হিসেবে নির্ধারিত।

৩.২ টেবিল তালিকাভুক্ত করা

টেবিল তৈরি করার পরে, আপনি ডেটাবেসে থাকা টেবিলগুলোর তালিকা দেখতে পারেন। SHOW TABLES কমান্ড ব্যবহার করে আপনি বর্তমানে নির্বাচিত ডেটাবেসের সব টেবিল প্রদর্শন করতে পারেন।

SHOW TABLES;

অতিরিক্তভাবে, যদি আপনি কোনো নির্দিষ্ট টেবিলের গঠন পরীক্ষা করতে চান, তবে DESCRIBE কমান্ড ব্যবহার করুন। এটি টেবিলের কলাম তথ্য এবং ডেটা টাইপ দেখায়।

DESCRIBE users;

এই কমান্ডটি users টেবিলের প্রতিটি কলামের ডেটা টাইপ এবং অ্যাট্রিবিউট (যেমন NULL অনুমোদিত কিনা, কী সেটিংস ইত্যাদি) তালিকাভুক্ত করে।

৩.৩ ডেটা ইনসার্ট ও ভিউ করা

টেবিলে ডেটা যোগ করতে INSERT INTO কমান্ড ব্যবহার করুন। উদাহরণস্বরূপ, একটি নতুন ব্যবহারকারী যোগ করতে নিম্নের মতো করুন।

INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');

এই কমান্ডটি users টেবিলে একটি নতুন রেকর্ড সন্নিবেশ করে এবং নির্দিষ্ট মানগুলো name এবং email কলামে সংরক্ষণ করে।

সন্নিবেশিত ডেটা দেখতে, SELECT কমান্ড ব্যবহার করুন। সব ব্যবহারকারী প্রদর্শন করতে, নিম্নলিখিতটি ব্যবহার করুন।

SELECT * FROM users;

এটি users টেবিলের সব রেকর্ডের তালিকা প্রদর্শন করে।

৪. ব্যবহারকারী ব্যবস্থাপনা এবং নিরাপত্তা

৪.১ ব্যবহারকারী তৈরি এবং অধিকার নির্ধারণ

MySQL-এ, ডাটাবেসে প্রবেশ করতে পারে এমন ব্যবহারকারী তৈরি করা এবং তাদের উপযুক্ত অধিকার প্রদান করা গুরুত্বপূর্ণ। ব্যবহারকারী তৈরি করতে, CREATE USER কমান্ড ব্যবহার করুন। নিম্নলিখিত উদাহরণে, localhost এর জন্য user1 নামের একটি নতুন ব্যবহারকারী password123 পাসওয়ার্ড দিয়ে তৈরি করা হয়েছে।

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';

এই কমান্ডটি user1 নামের একটি নতুন ব্যবহারকারী তৈরি করে, এবং ব্যবহারকারী শুধুমাত্র লোকাল হোস্ট থেকে সংযোগ করতে পারবে।

সৃষ্ট ব্যবহারকারীকে অধিকার প্রদান করতে, GRANT কমান্ড ব্যবহার করুন। উদাহরণস্বরূপ, mysqldemo ডাটাবেসে user1-কে সব অধিকার প্রদান করতে, নিম্নলিখিতটি ব্যবহার করুন।

GRANT ALL PRIVILEGES ON mysqldemo.* TO 'user1'@'localhost';

এই কমান্ডটি mysqldemo ডাটাবেসের সব টেবিলে user1-কে পূর্ণ অধিকার প্রদান করে। সিস্টেমে অধিকার পরিবর্তন প্রয়োগ করতে, FLUSH PRIVILEGES কমান্ড চালান।

FLUSH PRIVILEGES;

৪.২ পাসওয়ার্ড পরিবর্তন

একটি বিদ্যমান ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে, mysql ডাটাবেসের user টেবিল আপডেট করতে UPDATE কমান্ড ব্যবহার করুন। নিম্নলিখিত উদাহরণে root ব্যবহারকারীর পাসওয়ার্ড নতুনটি দিয়ে পরিবর্তন করা হয়েছে।

UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
FLUSH PRIVILEGES;

এটি root ব্যবহারকারীর পাসওয়ার্ডকে newpassword-এ পরিবর্তন করে। FLUSH PRIVILEGES চালিয়ে পরিবর্তনটি সিস্টেমে প্রয়োগ করা হয়।

৪.৩ নিরাপত্তা শক্তিশালী করার সেরা অনুশীলনসমূহ

MySQL নিরাপত্তা উন্নত করতে, এই সেরা অনুশীলনগুলো অনুসরণ করা গুরুত্বপূর্ণ।

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

এই পদক্ষেপগুলো বাস্তবায়ন করে, আপনি ডাটাবেসের নিরাপত্তা উন্নত করতে এবং সম্ভাব্য অননুমোদিত প্রবেশ রোধ করতে পারেন।

৫. উন্নত MySQL কমান্ডসমূহ

৫.১ ডেটা আপডেট এবং মুছে ফেলা

একটি টেবিলে ডেটা আপডেট করতে, UPDATE কমান্ড ব্যবহার করুন। উদাহরণস্বরূপ, যদি আপনি users টেবিলের name কলাম আপডেট করতে চান, নিম্নলিখিতটি করুন।

UPDATE users SET name = 'Jane Doe' WHERE id = 1;

এই কমান্ডটি id 1 থাকা রেকর্ডের জন্য name কলামের মানকে Jane Doe-তে পরিবর্তন করে। সতর্ক থাকুন: যদি আপনি WHERE ক্লজটি বাদ দেন, টেবিলের সব রেকর্ড আপডেট হবে।

ডেটা মুছে ফেলতে, DELETE কমান্ড ব্যবহার করুন। উদাহরণস্বরূপ, id 1 থাকা রেকর্ড মুছে ফেলতে, নিম্নলিখিতটি ব্যবহার করুন।

DELETE FROM users WHERE id = 1;

এটি users টেবিল থেকে id 1 সমান রেকর্ডটি মুছে দেয়।

৫.২ ব্যাকআপ এবং রিস্টোর

ডাটাবেসের ব্যাকআপ তৈরি করতে, mysqldump কমান্ড ব্যবহার করুন। এই কমান্ডটি পুরো ডাটাবেস এক্সপোর্ট করে এবং একটি SQL ফাইল হিসেবে সংরক্ষণ করে। উদাহরণস্বরূপ, mysqldemo ডাটাবেসের ব্যাকআপ নিতে, নিম্নলিখিতটি ব্যবহার করুন।

mysqldump -u root -p mysqldemo > mysqldemo_backup.sql

ডাটাবেস রিস্টোর (পুনরুদ্ধার) করতে, source কমান্ড ব্যবহার করুন। নিম্নলিখিত উদাহরণে mysqldemo_backup.sql ফাইল থেকে ডাটাবেস রিস্টোর করা হয়েছে।

mysql -u root -p mysqldemo < mysqldemo_backup.sql

এই কমান্ডটি mysqldemo_backup.sql এর বিষয়বস্তু mysqldemo ডাটাবেসে ইম্পোর্ট করে।

৫.৩ সার্ভার শুরু এবং বন্ধ করা

কমান্ড লাইন থেকে MySQL সার্ভার শুরু করতে, mysqld কমান্ড ব্যবহার করুন। উদাহরণস্বরূপ, Windows পরিবেশে আপনি নিম্নলিখিতটি চালাতে পারেন।

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld"

সার্ভার বন্ধ করতে, mysqladmin কমান্ড ব্যবহার করুন।

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqladmin" -u root -p shutdown

এটি MySQL সার্ভারকে সঠিকভাবে বন্ধ করে। কমান্ড প্রম্পট থেকে শুরু ও বন্ধ করা বিশেষত সেই পরিবেশে উপকারী যেখানে GUI টুলস উপলব্ধ নয়।

6. সমস্যার সমাধান

6.1 সাধারণ ত্রুটি এবং সেগুলি কীভাবে সমাধান করবেন

MySQL ব্যবহার করার সময় একটি সাধারণ ত্রুটি হল “Access denied for user” ত্রুটি। এটি ঘটে যখন নির্দিষ্ট ব্যবহারকারীর নাম বা পাসওয়ার্ড ভুল থাকে। এটি সমাধান করতে, ব্যবহারকারীর নাম এবং পাসওয়ার্ড পুনরায় যাচাই করুন এবং সঠিক ক্রেডেনশিয়াল দিয়ে আবার লগইন করার চেষ্টা করুন।

আরেকটি ত্রুটি, “Unknown database”, তখন দেখা দেয় যখন নির্দিষ্ট ডেটাবেসটি অস্তিত্ব নেই। ডেটাবেসটি আছে কিনা নিশ্চিত করতে SHOW DATABASES কমান্ড ব্যবহার করুন, এবং প্রয়োজন হলে তা তৈরি করুন।

SHOW DATABASES;
CREATE DATABASE db_name;

6.2 ডেটাবেস অপারেশনের জন্য টিপস এবং সতর্কতা

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

  • ব্যাকআপ নিন : ডেটাবেস অপারেশন সম্পাদনের আগে সর্বদা একটি ব্যাকআপ তৈরি করুন। এটি আপনাকে অনিচ্ছাকৃতভাবে কিছু মুছে ফেললে ডেটা পুনরুদ্ধার করতে সহায়তা করে।
  • ট্রানজ্যাকশন ব্যবহার করুন : একাধিক কুয়েরি একক অপারেশন হিসেবে চালানোর সময়, ডেটা অখণ্ডতা বজায় রাখতে ট্রানজ্যাকশন ব্যবহার করুন। ট্রানজ্যাকশন ব্যবহার করতে START TRANSACTION, COMMIT এবং ROLLBACK চালান।
  • শর্তগুলো সঠিকভাবে নির্ধারণ করুন : UPDATE বা DELETE ব্যবহার করার সময়, WHERE ক্লজটি সঠিকভাবে নির্ধারণ করা গুরুত্বপূর্ণ। এটি অনিচ্ছাকৃত আপডেট বা ডিলিট হওয়া থেকে রক্ষা করে।

এই সতর্কতাগুলো মাথায় রেখে আপনি MySQL সমস্যাগুলো পূর্বেই প্রতিরোধ করতে পারেন এবং ডেটাবেস নিরাপদে পরিচালনা করতে পারেন।

7. উপসংহার

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

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

MySQL কমান্ডগুলো আয়ত্ত করে আপনি ডেটাবেসকে আরও দক্ষ এবং নিরাপদভাবে পরিচালনা করতে পারবেন। আপনি যা শিখেছেন তা অনুশীলন ও প্রয়োগ করে নিরাপদ ও কার্যকর ডেটাবেস অপারেশনে আত্মবিশ্বাস অর্জন করুন।