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

MySQL-এ InnoDB স্টোরেজ ইঞ্জিন সক্ষম/ইনস্টল করা (my.ini বা ENGINE=InnoDB)

MySQL-এ InnoDB স্টোরেজ ইঞ্জিন সক্ষম করার দুটি প্রধান উপায়: কনফিগারেশন ফাইল (my.ini/my.cnf) বা টেবিল তৈরির সময় নির্দিষ্ট করা।

১. MySQL 8.0+ এ ডিফল্ট InnoDB

MySQL 8.0 থেকে ডিফল্ট স্টোরেজ ইঞ্জিন InnoDB। my.ini-এ যাচাই করুন:

MySQL-এ InnoDB স্টোরেজ ইঞ্জিন সক্ষম/ইনস্টল করা (my.ini বা ENGINE=InnoDB)

২. টেবিল তৈরির সময় ইঞ্জিন নির্দিষ্ট

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName VARCHAR(100),
    StudentLastName VARCHAR(100),
    StudentAge INT
) ENGINE = InnoDB;
Query OK, 0 rows affected (1.66 sec)

৩. ইঞ্জিন যাচাই

mysql> SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_NAME = 'DemoTable';
+--------------+--------+
| TABLE_NAME   | ENGINE |
+--------------+--------+
| DemoTable    | InnoDB |
+--------------+--------+

InnoDB কেন পছন্দনীয়?

  • ACID কমপ্লায়েন্ট (ট্রানজ্যাকশন সাপোর্ট)
  • রো-লেভেল লকিং (হাই কনকারেন্সি)
  • ফরেন কি কনস্ট্রেইন্ট
  • ক্র্যাশ রিকভারি (WAL/Redo Log)
  • ক্লাস্টারিং (InnoDB Cluster)

পুরানো ভার্সনে (MySQL 5.5-) my.ini-এ

[mysqld]
default-storage-engine = InnoDB
innodb_buffer_pool_size = 1G  -- র‍্যামের 70-80%
innodb_log_file_size = 256M

পরিবর্তনের পর MySQL সার্ভিস রিস্টার্ট করুন।

  1. MySQL-এ টেবিল MyISAM নাকি InnoDB ইঞ্জিন ব্যবহার করছে তা জানা

  2. MySQL-এ InnoDB গ্লোবাল লক দেখানোর কমান্ড: SHOW ENGINE INNODB STATUS

  3. MySQL-এ ডিফল্ট স্টোরেজ ইঞ্জিন MyISAM সেট করা (my.cnf / সেশন)

  4. MySQL-এ InnoDB ডিফল্টভাবে সক্রিয় কি না?