نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: ‫‫لاگ‌ها در MySQL server

  1. #1
    کاربر اخراج شده
    تاریخ عضویت
    Aug 2013
    نوشته ها
    302
    تشکر تشکر کرده 
    146
    تشکر تشکر شده 
    829
    تشکر شده در
    387 پست

    54 ‫‫لاگ‌ها در MySQL server

    درود بر همگی

    ‫MySQL server دارای چندین لاگ می‌باشد که با استفاده از آن‌ها مشخص می‌شود چه فعالیت‌هایی در حال وقوع است؛ لاگ‌های دیتابیس ابزارهای مفیدی برای آنالیزنمودن کارائی و یا مشکلات احتمالی دیتابیس می‌باشند و در واقعیت در بسیاری مواقع با بررسی لاگ فایل‌ها می‌توان راه‌حل‌های مناسب جهت رفع مشکلات ارائه نمود.




    در جدول زیر لیست لاگ‌های MySQL و اطلاعاتی که با فعال شدن هر لاگ در آن ذخیره می‌شود نمایش داده شده است:



    نوع لاگ اطلاعاتی که در لاگ ذخیره می شود
    Error Log مواجه شدن با مشکلات در زمان start یا دراجرا بودن یا stop شدن mysql
    General query Log برقرارشدن صحیح اتصالات و دستوارت کلاینت ها
    Binary Log رویدادهایی که تغییرات دیتابیس را تشریح می کند مانند عملیات ایجاد جدول یا تغییرات روی داده های جداول (همچنین برای replication استفاده می شود)
    Relay Log تغییرات داده که از replication master server دریافت می شود
    Slow query Log اطلاعات query هایی که زمان اجرایی بیش از یک مدت زمان تعیین شده دارند
    DDL Log (metadata Log) سوابق عملیات metadata تولید شده توسط دستورات تعریف داده مانندDROP و Alter و create. ، این اطلاعات در فایل ddl_log.log بصورت باینری ذخیره می شوند
    در ادامه به تشریح سه نوع لاگ پرکاربرد MySQL و نحوه فعال سازی و دسترسی به آن‌ها می‌پردازیم.
    ۱- Error log:

    در Error Log مشکلاتی که در زمان start شدن یا متوقف شدن سرویس MySQL اتفاق می‌افتد و همچنین خطاهای بحرانی که در زمان اجرای این سرویس رخ می‌دهد ثبت می‌شود، درصورتیکه MySQL متوجه شود که جدولی نیاز به automatically checked (بررسی خودکار) یا repair (تعمیر) دارد این پیام در Error log ثبت می‌گردد.



    مسیر ذخیره سازی فایل Error log:



    مسیر ذخیره سازی لاگ‌های Mysql در فایل my.cnf قابل تعریف و تغییر می‌باشد، بطور پیش فرض در سیستم عامل های مبتنی بر red hat محل ذخیره شدن error log در /var/lib/mysql/ است.



    نحوه دسترسی به فایل Error log:


    جهت مشاهده و بررسی خطاهای ثبت شده در Error Log می‌توانید از دستور زیر استفاده کنید:

    کد PHP:
    tail -/var/lib/mysql/server.hostname.com.err 

    server.hostname.com.err متناسب با نام سرور متفاوت می‌باشد و /var/lib/mysql/ مسیر ذخیره شدن فایل error log می‌باشد که در صورتیکه محل ذخیره سازی متفاوت باشد این مسیر نیز باید تغییر کند.


    ۲- General query log:

    فعالیت‌هایی مانند هر اتصال connectionای که به دیتابیس متصل می‌شود و کلیه queryهایی که از سمت کلاینت‌ها به دیتابیس فرستاده می‌شود در General query log ثبت می‌گردد. General query log برای اهداف عیب یابی، شناسائی باگ های برنامه، صحت عملکرد دستورات نوشته شده مفید می‌باشند. به‌عنوان مثال زمانی که تصور می‌کنید خطا از سمت کلاینت است و می‌خواهید چک کنید دقیقا چه دستوری از سمت کلاینت به سرویس MySQL ارسال شده‌است.



    نحوه فعالسازی General query log:

    چنانچه تمایل به فعال نمودن General query log دارید، در فایل my.cnf دستورات زیر را اضافه نمائید.



    کد:
    [mysqld]
    general_log_file = /var/log/mysql/mysql.log
    
    general_log = 1
    
    log-output = file
    log_output


    • log_output مشخص کننده روش نوشته شدن لاگ فایل‌ها است که در file یا در Table ذخیره شود.
    • مقدار فیلد general_log_file نام و مسیر ذخیره شدن فایل لاگ است.
    • مقدار یک در فیلد general_log مشخص کننده فعال و ۰ غیرفعال بودن General query log است.

    پس از اضافه نمودن این تغییرات سرویس MySQL جهت اعمال تغییرات باید restart شود.



    نحوه دسترسی به فایل General query log:



    به کمک دستور زیر می‌توانید به General query log دسترسی داشته باشید.

    کد PHP:
    tail -/var/log/mysql/mysql.log 

    ۳- Slow query log:

    در Slow query log اطلاعات مربوط به query (جستجو)هایی که زمان اجرای آن‌ها بیشتر از زمان تعیین شده در long_query_time طول می‌کشد ثبت می‌گردد. جستجوهای کند MySQL منجر به کند شدن سرور می‌گردد.


    Slow query log به‌صورت پیش فرض غیرفعال است، با فعال نمودن آن، جستجوهایی که زمان زیادی جهت اجرا شدن آن‌ها صرف می‌شود را شناسائی و راهکاری جهت بهینه نمودن جستجویا حذف آن جهت بهینه شدن کارائی سرویس MySQL بیابید.



    نحوه فعالسازی Slow query log:



    چنانچه تمایل به فعال نمودن Slow query log دارید، در فایل my.cnf دستورات زیر را اضافه نمائید.



    کد HTML:
    
    [mysqld]
    
    long_query_time=1
    slow_query_log=1
    slow_query_log_file= /var/log/mysql/log-slow-queries.log




    • long_query_time حداقل زمانی که دستور اجرا شده احتیاج دارد (برحسب ثانیه).
    • مقدار یک در فیلد slow_query_log نشانه فعال و ۰ غیرفعال بودن Slow query log است.
    • مقدار slow_query_log_file نام و مسیر ذخیره شدن فایل لاگ می‌باشد.

    پس از اضافه نمودن این تغییرات سرویس MySQL جهت اعمال تغییرات باید restart شود.


    نحوه دسترسی به فایل Slow query log:



    کد PHP:
    tail -/var/log/mysql/log-slow-queries.log 



    زمان مناسب جهت فعال کردن لاگ‌ها:



    • Error log بهتر است همیشه فعال باشد.
    • General query log بهتر است برای موارد خاصی همچون موارد زیر فعال شود؛ به‌دلیل حجمی که لاگ فایل‌ها اشغال می‌کنند بهتر است پس از اتمام بررسی غیر فعال شوند.
      • بررسی اتصال صحیح برنامه کاربردی تحت وب به MySQL.
      • نظارت بر اجراشدن صحیح Query در برنامه کاربردی.
      • تست memcached یا نرم‌افزارهای مشابه.

    • Slow Query log را ترجیحا برای یک دوره زمانی کوتاه ۲-۳ روزه فعال کنید، هنگامی که عملکرد برنامه به دلایلی کاهش پیدا می‌کند و می‌خواهید جستجوهایی که باعث این کاهش است را کشف کنید، استفاده از Slow Query log توصیه می‌گردد.


    منبع :

    ‫‫لاگ‌ها در MySQL server - ایران سرور

  2. تعداد تشکر ها ازzartosht به دلیل پست مفید


  3. # ADS




     

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. ‫‫لاگ‌ها در MySQL server
    توسط iranserver.com در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: July 1st, 2017, 22:32
  2. خطای MySQL server has gone away
    توسط beniii در انجمن دايرکت ادمين DirectAdmin
    پاسخ ها: 0
    آخرين نوشته: April 17th, 2014, 20:10
  3. پاسخ ها: 14
    آخرين نوشته: August 11th, 2013, 00:44
  4. ارور Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
    توسط pc.rootall در انجمن سوالات و مشکلات
    پاسخ ها: 8
    آخرين نوشته: July 20th, 2013, 16:37
  5. اجرا نشدن mysql server در vps
    توسط Faraz4u در انجمن سوالات و مشکلات
    پاسخ ها: 5
    آخرين نوشته: March 29th, 2013, 13:47

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •