سبد خریدتان در حال حاضر خالی است!
جابجا کردن محل ذخیره سازی دیتابیس MYSQL/MariaDB
بسم الله الرحمن الرحیم
شاید برای شما هم پیش آمده باشد که به دلیل کمبود فضا در یک پارتیشن سیستم عامل نیاز به جابجایی محل ذخیره سازی دیتاهای دیتابیس MySQL/MariaDB داشته باشید.مثلا با خطایی مشابه خطای زیر:
[] DISKCRITICAL blocks ⛔️: Mount Point “/” (): 46.8 GB/49.98 GB - 93.654388%
در این مطلب به صورت خلاصه و تیتر وار مراحل این جابجایی خواهد آم.
هدف انتقال از مسیر / به /home می باشد، سیستم عامل هم Centos و مدیر دیتابیس هم mariadb ، اما برای MySQL هم همین مراحل قابل استفاده است.
مرحله اول:
پشتیبان گیری از اطلاعات دیتابیس جهت احتیاط
مرحله دوم:
متوقف کردن سرویس دیتابیس و یک تنظیم :
sudo systemctl stop mariadb
فایل mariadb.service را ادیت کرده(دستور: systemctl edit mariadb ) و مقدار زیر را تصحیح میکنیم:
[Service]
ProtectHome = true
==>
[Service]
ProtectHome = false
نکته : اگر از سی پنل استفاده می کنید سیستم بررسی سرویس ها را موقتا برای دیتابیس کنسل کنید تا دوباره آن را شروع به کار نکند:
whmapi1 configureservice service=mysql enabled=1 monitored=0
بعد از اتمام همه مراحل با دستور زیر سرویس را فعال کنید:
whmapi1 configureservice service=mysql enabled=1 monitored=1
مرحله سوم:
جابجایی دیتاها به مسیر جدید و تغییر نام پوشه قبلی(بعدا که مطمئن از انتقال اطلاعات شدید میتوانید پاک کنید):
mkdir /home/new_mysql_datadir
chown -R mysql:mysql /home/new_mysql_datadir
sudo rsync -av /var/lib/mysql /home/new_mysql_datadir
sudo mv /var/lib/mysql /var/lib/mysql.bak
مرحله چهارم:
ساخت سیمبلیک لینک مسیر اصلی به مسیر جدید جهت جلوگیری از اختلال در برنامه های وابسته:
ln -s /home/new_mysql_datadir/mysql /var/lib/mysql
این دستور هم زده بشه:
sudo chcon -R systemu:objectr:mysqlddbt:s0 /home/new_mysql_datadir/mysql
مرحله پنجم:
شناساندن مسیر جدید به MySQL/MariaDB :
فایل /etc/my.cnf را ادیت کرده و مقدار datadir را در مکان مناسب طبق متن زیر اضافه می کنیم:
[mysqld]
datadir=/home/new_mysql_datadir/mysql
مرحله آخر:
شروع مجدد کار MySQL/MariaDB:
sudo systemctl start mariadb
sudo systemctl status mariadb
پاک کردن اطلاعات قبلی:
درصورتی که از صحت عملیات مطمئن بودید با دستور زیر میتونید اطلاعات قبلی رو پاک کنید که فضا ازاد شه:
rm -rf /var/lib/mysql.bak
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.