MySQL Tuner اسکریپتی است که توسط زبان Perl نوشته شده و برای پیکربندی و بهینهسازی سرویس MySQL استفاده میگردد. روش کار آن به این صورت است که بر اساس اطلاعات دریافتی از سرور، مقدار برخی از متغییرهای فایل my.cnf مانند max_allowed_packet، max_connections، max_user_connections، interactive_timeout، wait_timeout, connect_timeout، thread_cache_size و … را پیشنهاد میدهد و این امر باعث افزایش کارایی و ثبات MySQL میشود. این اسکریپت بر روی کلیهی سرورهای لینوکسی که از Perl پشتیبانی میکنند قابل استفاده میباشد.
روش استفاده از MySQL Tuner:
۱- ابتدا با کاربر root به سرور SSH نمایید.
۲- برای دریافت آخرین نسخهی ارایه شدهی آن از دستور زیر استفاده نمایید:
wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
۳- جهت نصب بسته دریافتی از دستور زیر استفاده نمایید:
perl mysqltuner.pl
۴- پس از اجرای دستور فوق، خطوط زیر را در ترمینال مشاهده خواهید کرد.
>> MySQLTuner 1.2.0 - Major Hayden <major@mhtx.net> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--help' for additional options and output filtering Please enter your MySQL administrative login: Please enter your MySQL administrative password:
۵- با توجه به نوع کنترلپنل خود یکی از مراحل زیر را انجام دهید:
۵-۱- چنانچه از کنترل پنل DirectAdmin استفاده مینمایید با استفاده از دستور زیر اطلاعات کاربری، کاربر اصلی MySQL را وارد نمایید:
cat /usr/local/directadmin/conf/mysql.conf
۵-۲- چنانچه از کنترل پنل Cpanel/WHM استفاده مینمایید، نام کاربری و رمز عبور root پایگاهدادهی MySQL را وارد نمایید.
نکته: اگر رمز عبور root پایگاهداده را در اختیار ندارید، میتوانید نسبت به تغییر آن از مسیر زیر اقدام نمایید:
WHM => SQL Services => MySQL Root Password
۶- سپس MySQL Tuner شروع به بررسی وضعیت پایگاهدادهی سرور و مقادیر تنظیم شده در فایل my.cnf مینمایید و نتیجهی آنرا بصورت زیر به شما نمایش خواهد داد.
-
General Statistics:
در این بخش اطلاعاتی درباره پایگاهداده و موتورهای قابل استفاده آن میدهد.
-
Security Recommendations:
این بخش نتیجهی بررسی موارد امنیتی که باید در پایگاه داده رعایت شدهباشد را نمایش میدهد.
-
Performance Metrics:
در این بخش نتیجهی اندازه گیری مقادیر مشخص کنندهی کارایی پایگاهداده را نمایش میدهد.
-
Recommendations:
بر اساس اطلاعاتی حاصل شده در مرحله قبل، و مقایسه آنها با مقادیر فایل my.cnf (در صورت وجود) اسکریپت پیشنهادات خود را در دو زیربخش General recommendations و Variables to adjust ارایه مینماید، در زیربخش فعالیتهایی که جهت بهینهسازی پایگاه داده شما ضروری و متغیرهایی که باید آنها را فعال نمایید، و در بخش دوم مقدار پیشنهادی این متغیرها (بیشتر این متغییرها در فایل/etc/my.cnf و زیر تگ [mysqld] است.) ارایه شدهاست.
نکته: قسمت هایی که با رنگ قرمز مشخص شده است (دارای علامت !!) مشکل داشته و باید نسبت به رفع آن اقدام گردد.
۷- پس از اعمال تغییرات، باید سرویس MySQL را به کمک یکی از دستورات زیر با توجه به نوع کنترلپنل restart نمایید:
۷-۱- در کنترلپنل DirectAdmin:
service mysqld restart
۷-۲- در کنترلپنل Cpanel/WHM:
service mysql restart
۸- مجددا اسکریپت MySQL Tuner را اجرا نمایید تا پایگاهدادهی MySQL با مقادیر جدید بررسی و در صورت نیاز پیشنهادات جدید را دریافت نمایید. اجرای این اسکریپت را تا زمانی تکرار نمایید که که درقسمت Variables to adjust هیچ پیغامی برای شما نمایش دادهنشود و پیغامهای بخش General recommendation نیز به حداقل خود رسیده باشد.
در صورتی که به دقت به پیامهای دریافتی از سوی برنامه توجه نمایید و تغییرات موردنیاز را اعمال کنید بارگذاری سرور و میزان پردازش سرویس MySQL به صورت محسوسی کاهش خواهد یافت. در ادامه تصویری از مقایسه وضعیت بارگذاری و پردازش یک سرور قبل و بعد از استفاده از پیشنهادات MySQL Tuner آورده شدهاست.