اطلاعیه

بستن
No announcement yet.

استارت نشدن سرویس MySQL در سرور لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    استارت نشدن سرویس MySQL در سرور لینوکس

    سرویس پایگاه داده و دیتابیس MySQL یکی از بزرگ ترین و محبوب ترین سرویس های متن باز (نسخه Enterprise هم ارائه میکند) و رایگان تحت لینوکس ، یونیکس ، انواع BSD ها ، ویندوز و … است . تقریبا تمام کنترل پنل های هاستینگ معروف و حتی شناخته نشده تحت لینوکس ، از این سرویس قدرتمند به عنوان سیستم پیش فرض ارائه دیتابیس به یوزر های هاست استفاده میکنند .

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	672x372xmysql-1-672x372.gif.pagespeed.ic.ZgMLYH9D-i.png نمایش ها:	1 اندازه:	11.5 KB شناسه:	18570

    یکی از بد قلق ترین و سخت ترین ایرادات مشاهده شده در سرویس MySQL در سرور های هاستینگ لینوکس مشکل استارت نشدن سرویس MySQL است .

    مشکل استارت نشدن سرویس MySQL در تمام سرور های هاستینگ لینوکس و به خصوص در سرور های مبتنی بر کنترل پنل های معروف سی پنل و دایرکت ادمین بسیار شایع است . پیام هایی خطایی که در هنگام اجرای دستور استارت سرویس MySQL در خروجی ترمینال مشاهده میشود متفاوت است و معمولا بسته به نوع کامپایل کردن MySQL ، ورژن MySQL مورد استفاده در لینوکس ، توزیع لینوکس ، کنترل پنل وب هاستینگ و … پیام خطای خروجی در ترمینال نیز متفاوت است .

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

    Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock
    Starting MySQL. ERROR! Manager of pid-file quit without updating file
    Starting MySQL.Manager of pid-file quit without updating file FAILED
    MySQL Daemon failed to start
    Another MySQL daemon already running with the same unix socket
    ERROR 2003 (HY000): Can’t connect to MySQL server on 127.0.0.1
    MySQL is not running, but lock exists FAILED
    MySQL manager or server PID file could not be found
    MySQL is running but PID file could not be found FAILED
    Starting MySQL../etc/init.d/mysqld: line 159: kill: (9188) – No such process ERROR


    استارت نشدن سرویس MySQL در لینوکس یکی از پیچیده ترین و سخت ترین ارور های لینوکس است که تریس کردن و رفع آن گاهی به ساعت ها زمان نیاز دارد . در این مقاله فقط به دلایل کلی بروز این خطا و عدم استارت سرویس MySQL میپردازیم ، چرا که در مواردی هر یک از دلایل خود نیاز مند نوشتن چند صفحه مجزا خواهد بود .

    وجود خطا در فایل my.cnf :
    در اولین قدم ، محتویات مربوط به فایل my.cnf را بررسی کنید . اگر تعداد خط ها و مقادیر وارد شده در این فایل زیاد هستند ، با دستور زیر فایل رو موقتا تغییر نام داده و سرویس MySQL را ریستارت کنید :

    کد PHP:
    mv /etc/my.cnf /etc/my.cnf.dis

    service mysqld restart 
    در سرور های سی پنل برای رییستارت کردن سرویس MySQL دستور زیر را اجرا کنید :

    کد PHP:
    service mysql restart 
    در توزیع های لینوکس (بدون کنترل پنل وب هاستینگ) اوبونتو و دبیان نیز برای ویرایش فایل my.cnf مطابق زیر عمل کنید :

    کد PHP:
    vi /etc/mysql/my.cnf 
    در صورتی که بعد از تغییر نام (و خارج کردن این فایل از دسترس سرویس MySQL) سرویس پایگاه داده MySQL بدون مشاهده ارور خاضی استارت شد* ، پس مشکل را باید در syntax یا مقدار دهی غلط به پارامتر های تاثیر گذار بر MySQL جستجو کرد .

    خراب شدن یا Corrupt شدن جداول :
    این مشکل بیشتر در جدول های Innodb مشاهده میشود ولی در به طور کلی برای جداول Myisam نیز صادق است . در این وضعیت باید بسته به نوع جدول و دلایل Crash کردن دیتابیس ، به رفع مشکل بپردازید .

    استارت همزمان چند سرویس MySQL :
    در حالت عادی ِ، با اجرای دستور service mysqld start اگر سرویس MySQL از قبل اجرا شده باشد ، با یک پیام خطا مبنی بر run بودن سرویس دریافت خواهید کرد . در شرایط خاص ، پیش می آید که چند نسخه یا Instance از این سرویس در حال اجرا باشد که خود سبب ایجاد اختلال در کار MySQL میگرردد . در این وضعیت ممکن است شما هرگز متوجه اجرای همزمان چند سرویس همزمان نشوید و حتی با اجرای دستور service mysqld start یکی از پیام های خطای مربوط به استارت نشدن سرویس MySQL در سرور لینوکس را دریافت کنید . در این وضعیت بهترین کار KILL کردن پراسس های مربوط به سرویس MySQL است .

    کد PHP:
    killall -9 mysql

    killall 
    -9 mysqld

    killall 
    -9 mysql_safe

    service mysqld start 
    OR service mysqld start 
    استفاده یک daemon دیگر از سوکت MySQL :
    در این حالت کار سختی پیش روی شما نیست . کافی است تا فایل سوکت مربوط به سرویس MySQL را پاک کرده و سپس سرویس MySQL را استارت کنید :

    کد PHP:
    rm /var/lib/mysql/mysql.sock

    service mysqld start 
    OR service mysqld start 
    قفل شدن MySQL در لینوکس :
    در مواقع خاص و نادر ، سرویس MySQL استاپ میشود ولی فایل مربوط به Lock یا قفل شدن سرویس MySQL از دایرکتوری مربوطه در لینوکس حذف نمیگردد . در این حالت پیام خطای روی خروجی ترمینال شبیه این خواهد بود :

    کد PHP:
    mysql is dead but subsys locked 
    برای حل این مشکل کافی است تا فایل مربوط به lock شدن mysql را حذف کنید و مجددا اقدام به استارت کردن سرویس MySQL کنید :

    کد PHP:
    rm /var/lock/subsys/mysqld

    service mysqld start 
    OR service mysql start 
    همانطور که بالاتر نیز به آن اشاره کردیم ، عدم استارت سرویس MySQL در برخی موارد بسیار پیچیده و گیج کننده خواهد بود و رفع آن همیشه به استناد به موارد آموزش داده شده امکان پذیر نیست . عوامل بسیار زیاد دیگری نیز میتوانند سبب استارت نشدن سرویس MySQL روی سرور لینوکس شوند که فقط با Trace کردن کامل و حرفه ای سرور لینوکس امکان رفع این ایراد میسر خواهد بود . در صورت بروز این مشکل در سرور های لینوکس خود ، حتما حل مشکل را به دست یک فرد با تجربه بسپارید ، چرا که در صورت انجام یک اشتباه ساده ، امکان آسیب دیدن جدی جدول های دیتابیس وجود خواهد داشت .

    برای حل مشکل استارت نشدن سرویس MySQL در سرور لینوکس میتوانید از خدمات کانفیگ سرور ما استفاده کنید . درخواست کانفیگ سرور خود را برای ما تیکت کنید تا در کمترین زمان ممکن به درخواست شما رسیدگی شود .

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	mysql1.png نمایش ها:	2 اندازه:	52.3 KB شناسه:	18571
    نویسنده Babak Ajideh
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-12-2020, 01:25 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X