من به عنوان یک ادمین سیستم ترجیح نمیدهم که برای ذخیره data در mysql از دایرکتور اسلاش (/) استفاده کنم. هر زمان که mysql را برای یک سرور نصب میکنم سعی میکنم دیسک دومی برای ذخیره فایل های database و application استفاده کنم. برای این منظور همیشه دایرکتوری پیش فرض اطلاعات mysql را به دیسک دومی که روی سیستم mount شده را تغییر میدهم. اکثرا mysql پوشه var/lib/mysql را به عنوان پوشه پیش فرض دیتا در سیستم های لینوکسی استفاده میکند. ما قصد داریم این مسیر را به مسیر دیگری تغییر دهیم.
مراحل زیر را برای اعمال تغییرات دنبال کنید. ممکن است بسته به نام سرویس شما پوشه پیش فرض دیتا یا مسیر فایل کانفیگ mysql متفاوت باشد. در نتیجه دستورات زیر را با توجه به تنظیمات سیستم خود استفاده کنید :
1 - Stop MySQL
قبل از اعمال هر تغییری ابتدا سرویس mysql را stop کنید :
2 - تغییر پوشه اطلاعات
اکنون اطلاعات موجود به همراه مسیر mysql را (var/lib/mysql) به مکان دیگر با توجه به سرورتان کپی میکنیم. همچنین owner مسیر جدید را mysql تعریف کنید. با استفاده از دستور زیر دایرکتوری اطلاعات را به مسیر جدید /mnt/habili/mysql انتقال میدهیم :
با استفاده از دستور زیر owner مسیر جدید را تغییر میدهیم :
اکنون فایل کانفیگ mysql را (etc/my.cnf) را ویرایش میکنیم و متغییرهای datadir و socket را به گونه ای زیر تغییر میدهیم :
خطوط موجود در فایل به قرار زیر است :
که شما آن را همانند زیر تغییر میدهید :
3 - Start MySQL
بعد از اعمال تغییرات بالا سرویس mysql را start میکنیم. در این زمان mysql مسیر جدید را استفاده خواهد کرد که با بررسی log های mysql بعد از start کردن آن میتوانید مطمین شوید که مسیر جدید استفاده میشود :
این مقاله تحت centos 6.5 و mysql 5.5.37 تست شده اگر با هر مشکلی در زمان start در mysql روبه رو شدید فایل log mysql به مسیر var/log/mysqld.log را برای هرگونه Error چک کنید.
مراحل زیر را برای اعمال تغییرات دنبال کنید. ممکن است بسته به نام سرویس شما پوشه پیش فرض دیتا یا مسیر فایل کانفیگ mysql متفاوت باشد. در نتیجه دستورات زیر را با توجه به تنظیمات سیستم خود استفاده کنید :
1 - Stop MySQL
قبل از اعمال هر تغییری ابتدا سرویس mysql را stop کنید :
کد PHP:
# service mysqld stop
2 - تغییر پوشه اطلاعات
اکنون اطلاعات موجود به همراه مسیر mysql را (var/lib/mysql) به مکان دیگر با توجه به سرورتان کپی میکنیم. همچنین owner مسیر جدید را mysql تعریف کنید. با استفاده از دستور زیر دایرکتوری اطلاعات را به مسیر جدید /mnt/habili/mysql انتقال میدهیم :
کد PHP:
# cp -rap /var/lib/mysql /mnt/habili/mysql
با استفاده از دستور زیر owner مسیر جدید را تغییر میدهیم :
کد PHP:
# chown mysql.mysql /mnt/habili/mysql
اکنون فایل کانفیگ mysql را (etc/my.cnf) را ویرایش میکنیم و متغییرهای datadir و socket را به گونه ای زیر تغییر میدهیم :
خطوط موجود در فایل به قرار زیر است :
کد PHP:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
کد PHP:
datadir=/mnt/habili/mysql
socket=/mnt/habili/mysql/mysql.sock
3 - Start MySQL
بعد از اعمال تغییرات بالا سرویس mysql را start میکنیم. در این زمان mysql مسیر جدید را استفاده خواهد کرد که با بررسی log های mysql بعد از start کردن آن میتوانید مطمین شوید که مسیر جدید استفاده میشود :
کد PHP:
# service mysqld start
این مقاله تحت centos 6.5 و mysql 5.5.37 تست شده اگر با هر مشکلی در زمان start در mysql روبه رو شدید فایل log mysql به مسیر var/log/mysqld.log را برای هرگونه Error چک کنید.