MySQL-এ OPTIMIZE TABLE এবং REPAIR TABLE চালানোর জন্য ইউজারের ন্যূনতম প্রিভিলেজ হলো SELECT এবং INSERT।
প্রিভিলেজ দেয়ার সিনট্যাক্স
GRANT INSERT, SELECT ON yourDatabaseName.* TO 'yourUserName'@'localhost';
উদাহরণ: Emma ইউজার তৈরি এবং প্রিভিলেজ দেয়া
CREATE USER 'Emma'@'localhost' IDENTIFIED BY 'Emma123';
GRANT INSERT, SELECT ON web.* TO 'Emma'@'localhost';
SHOW GRANTS FOR 'Emma'@'localhost';
আউটপুট
+-------------------------------------------------------+
| Grants for Emma@localhost |
+-------------------------------------------------------+
| GRANT USAGE ON *.* TO `Emma`@`localhost` |
| GRANT SELECT, INSERT ON `web`.* TO `Emma`@`localhost` |
+-------------------------------------------------------+
কেন SELECT এবং INSERT?
OPTIMIZE TABLE— টেবিল রি-অর্গানাইজ করে, যার জন্য টেম্প টেবিল তৈরি (INSERT) এবং ডেটা পড়া (SELECT) লাগেREPAIR TABLE— মায়আইএএসএম (MyISAM) টেবিল রিপেয়ার করতে ডেটা পড়া এবং লিখতে হয়- ইননোডিবি (InnoDB)-তে REPAIR TABLE সাপোর্ট নেই
সুরক্ষা টিপ: শুধু জরুরি প্রিভিলেজ দিন, রুট অ্যাক্সেস দেবেন না।