মাইএসকিউএল ডিবিএ হিসাবে, আমি মাইএসকিউএলকে আমার জন্য স্ক্রিপ্টটি লেখার মাধ্যমে রূপান্তরটি করতে মাইএসকিউএলকে বিশ্বাস করি।
লিনাক্স কমান্ডটি তৈরি করুন এই ক্যোয়ারীটি চালান
mysql -h... -u... -p... -A --skip-column-names -e"SELECT CONCAT('ALTER TABLE ',db,'.',tb,' ENGINE=InnoDB;') FROM (SELECT A.db,A.tb,A.tbsize FROM (SELECT table_schema db,table_name tb,(data_length+index_length) tbsize FROM information_schema.tables WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql')) A LEFT JOIN (SELECT table_schema db,table_name tb FROM information_schema.statistics WHERE index_type='FULLTEXT') B USING (db,tb) WHERE B.db IS NULL) AA ORDER BY tbsize" > /root/ConvertMyISAM2InnoDB.sql
স্ক্রিপ্টটি প্রথমে ক্ষুদ্রতম টেবিলগুলিকে রূপান্তর করবে। এই স্ক্রিপ্টটিতে মাইআইএসএএম সারণীগুলিকেও বাইপাস করা হয়েছিল যাতে ফুলটেক্সট সূচী রয়েছে।
স্ক্রিপ্টটি সন্ধানের পরে আপনি কেবল মাইএসকিউএল-এ চালাতে পারবেন:
mysql -h... -u... -p... -A < /root/ConvertMyISAM2InnoDB.sql
অথবা আপনি যদি প্রতিটি রূপান্তরটির সময় দেখতে চান তবে মাইএসকিএল এ লগইন করুন এবং এটি চালান:
mysql> source /root/ConvertMyISAM2InnoDB.sql
এটি বিশৃঙ্খল হওয়া উচিত নয় কারণ রূপান্তরটি কার্যকর হওয়ার সময় একটি পূর্ণ টেবিল লক হয় happens
সমস্ত টেবিল রূপান্তরিত হয়ে গেলে আপনাকে InnoDB ব্যবহারের জন্য মাইএসকিউএল সেটিংস টিউন করতে হবে এবং কী_বফারটি স্কেল করতে হবে।
ইনোডিবি বাফার পুলটি সেট করার জন্য দয়া করে এটি পড়ুন: /dba/1/ কি-are-the-main-differences-between-innodb-and-myisam/2194#2194
দয়া করে এগুলিও পড়ুন: /drupal/1715/ কি- ওয়াল্ড- ইপটিমাল-mysql-configration-for-a-drupal-7-site-be / 2367#2367
একবার চেষ্টা করে দেখো !!!