تغییر محل پیشفرض دایرکتوری داده های MySQL-MariaDB در ابونتو 14.04

در فایل my.ini در ویندوز و my.cnf در لینوکس و یونیکس ها پارامتر datadir دایرکتوری پیشفرض مربوط به ذخیره سازی دایرکتوری های MySQL نگه داری می شود. به هر دلیلی لازم داریم تا این محل را تغییر دهیم، بنابراین لازم است تا پارامتر datadir را ویرایش کنیم. در مطلب “محل پیشفرض فایل های پایگاه داده MySQL/Maria DB کجاست” توضیح های لازم داده شده است.

 برای پیدا کردن مسیر دایرکتوریی که فایل های مربوط به پایگاه داده هایِ MySQL یا MariaDB را در لینوکس یا دیگر یونیکس ها نگه داری می کند از دستور زیر استفاده کنید.

locate my.cnf

به هر حال لازم است از فایل my.cnf  پارامتر datadir ویرایش شود.

datadir=/var/lib/mysql

 در لینوکس ابتدا سرویس mysql را stop کنید.

service mysql stop

OR

etc/init.d/mysql stop/

سپس  تمامی فایل های درون دایرکتوری var/lib/mysql/ را به دایرکتوری جدید منتقل کنید. فرض می کنیم دایرکتوری جدید را در mnt/mysql_data/ در نظر گرفته باشیم، و چون با مجوز root این دایرکتوری را ایجاد کردیم، بنابراین لازم است تا پس از کپی مجوز فایل را تغییر دهیم. مالک و گروه مالک این فایل باید کاربر و گروه mysql باشد.

chown mysql:mysql -R /mnt/mysql_data

chmod -R 777 /mnt/mysql_data

سپس فایل my.cnf را باز کنید و مقدار پارامتر datadir را به مسیر دایرکتوری جدید تغییر دهید.

datadir=/mnt/mysql_data

پس از انجام گام های بالا لازم است تا فایل زیر ویرایش شود. در ابونتو به صورت پیشفرض فایل های MySQL در دایرکتوری var/lib/mysql/ قرار دارد.

etc/apparmor.d/usr.sbin.mysqld/

در این فایل دو خط مشخص شده در شکل زیر را با دایرکتوری جدید جایگزین کنید.

mysql_change_datadir_in_ubuntu

حال با دستور زیر را اجرا کنید.

service apparmor reload

و سپس MySQL را start کنید.

service mysql start