यदि डेटाबेस व्यवस्थापकों को सर्वर में लॉगिन करना है या डेटाबेस को एक-एक करके या तालिका द्वारा मैन्युअल रूप से अनुकूलित करने के लिए phpMyAdmin लॉन्च करना है तो यह थोड़ा परेशानी भरा है। कभी-कभी डीबी व्यवस्थापक बस काम करना भूल जाता है या अनुकूलन की आवृत्ति को कम समय पर सेट कर सकता है। यह अनुशंसा की जाती है कि व्यस्त सर्वर पर MySQL डेटाबेस में प्रत्येक तालिका को दिन में कम से कम एक बार चेक किया जाए।
Linux/Unix/CentOS/FreeBSD में crontab फ़ंक्शन का उपयोग करके MySQL प्रक्रिया के अनुकूलन को स्वचालित करना संभव है। MySQL डेटाबेस को चेक और ऑप्टिमाइज़ करने के लिए क्रॉन जॉब को mysqlcheck क्लाइंट यूटिलिटी का उपयोग करके बनाया जा सकता है, जो MySQL इंस्टालेशन आता है। mysqlcheck क्लाइंट MySQL डेटाबेस में तालिकाओं की जाँच, मरम्मत, अनुकूलन और विश्लेषण कर सकता है।
एक नया क्रॉन जॉब बनाने के लिए, सर्वर में रूट या किसी अन्य उपयोगकर्ता के रूप में लॉगिन करें, और फिर crontab फ़ाइल को संपादित करें (अधिकांश ऑपरेटिंग सिस्टम में, crontab -e पाठ की निम्न पंक्ति में जोड़ने के लिए डिफ़ॉल्ट पाठ संपादक में crontab फ़ाइल खोलेगा। cPanel का उपयोग करने वाले उपयोगकर्ताओं के लिए, "क्रॉन जॉब" पर क्लिक करें जहाँ आप दैनिक, प्रति घंटा और अन्य अंतराल पर क्रॉस्टैब सेट कर सकते हैं। अनुभवी वेबमास्टर rc.hourly या rc.daily या अन्य क्रॉन निर्देशिका में एक crontab फ़ाइल भी सेट कर सकते हैं। ध्यान दें कि यदि आप एक MySQL या सामान्य उपयोगकर्ता के रूप में लॉगिन करते हैं, जिसमें सभी डेटाबेस तक पहुंच नहीं है, तो सभी डेटाबेस को अनुकूलित करना संभव नहीं है, जब तक कि रूट के लिए उपयोगकर्ता आईडी और पासवर्ड नीचे दिए गए उदाहरण में निर्दिष्ट नहीं किया गया हो।
0 1 * * * mysqlcheck -Aao --auto-repair -u root -p[password] > /dev/null
उपरोक्त कथन में "mysqlcheck [विकल्प] -ऑल-डेटाबेस" के समान सिंटैक्स है, जहां -ऑल-डेटाबेस पैरामीटर डिफ़ॉल्ट क्रिया है कोई डेटाबेस निर्दिष्ट नहीं है इसलिए छोड़ा जा सकता है। यह कमांड प्रतिदिन सुबह 1 बजे सभी डेटाबेस का स्वचालित रूप से विश्लेषण और अनुकूलन करने के लिए mysqlcheck क्लाइंट चलाएगा। ध्यान दें कि रूट के लिए -p और आपके पासवर्ड के बीच कोई जगह नहीं है। आप अपनी पसंद के अनुसार चलने का समय बदल सकते हैं, और mysqlcheck कमांड के विकल्प भी बदल सकते हैं। यदि आप केवल कुछ डेटाबेस या डेटाबेस के बिना कुछ तालिकाओं की जाँच और अनुकूलन करना चाहते हैं, तो निम्न सिंटैक्स का उपयोग करें:
mysqlcheck [options] db_name [tables] mysqlcheck [options] --databases DB1 [DB2 DB3...]
आप उपरोक्त कमांड से -ऑटो-रिपेयर स्विच को हटाना चाह सकते हैं, क्योंकि टेबल रिपेयर ऑपरेशन से कुछ परिस्थितियों में डेटा हानि हो सकती है, ऑपरेशन के कारणों में शामिल हैं, लेकिन फाइल सिस्टम त्रुटियों तक सीमित नहीं हैं। उन लोगों के लिए जिन्होंने MySQL डेटाबेस के कैरेक्टर सेट और कॉलेशन को बदल दिया है, उन्हें भी -डिफॉल्ट-कैरेक्टर-सेट विकल्प का उपयोग करने की आवश्यकता हो सकती है। सभी उपलब्ध स्विच और उपलब्ध विकल्पों के बारे में अधिक जानकारी यहां पाई जा सकती है।