Kif tibdel Direttorju tad-Data Default MySQL/MariaDB fil-Linux
Wara li tinstalla l-komponenti ta 'munzell LAMP fuq server CentOS/RHEL 7, hemm ftit affarijiet li tista' tkun trid tagħmel.
Xi wħud minnhom għandhom x'jaqsmu maż-żieda tas-sigurtà tal-Apache u l-MySQL/MariaDB, filwaqt li oħrajn jistgħu jkunu applikabbli jew le skont is-setup jew il-ħtiġijiet tagħna.
Pereżempju, ibbażat fuq l-użu mistenni tas-server tad-database, nistgħu rridu nbiddlu d-direttorju tad-dejta default (/var/lib/mysql
) għal post differenti. Dan huwa l-każ meta direttorju bħal dan huwa mistenni li jikber minħabba użu għoli.
Inkella, is-sistema tal-fajls fejn hija maħżuna /var
tista' tikkollassa f'punt wieħed u tikkawża li s-sistema kollha tfalli. Xenarju ieħor fejn nibdlu d-direttorju default huwa meta jkollna sehem tan-netwerk iddedikat li rridu nużaw biex naħżnu d-dejta attwali tagħna.
Għal din ir-raġuni, f'dan l-artikolu, se nispjegaw kif tibdel id-direttorju tad-dejta default MySQL/MariaDB għal mogħdija differenti fuq server CentOS/RHEL 7 u distribuzzjonijiet Ubuntu/Debian.
Għalkemm se nużaw MariaDB, il-kunċetti spjegati u l-passi meħuda f'dan l-artikolu japplikaw kemm għal MySQL kif ukoll għal MariaDB sakemm ma jkunx innutat mod ieħor.
Nibdlu d-Direttorju tad-Data MySQL/MariaDB default
Nota: Se nassumu li d-direttorju tad-dejta l-ġdid tagħna huwa /mnt/mysql-data
. Huwa importanti li wieħed jinnota li dan id-direttorju għandu jkun proprjetà ta' mysql:mysql
.
# mkdir /mnt/mysql-data # chown -R mysql:mysql /mnt/mysql-data
Għall-konvenjenza tiegħek, qsamna l-proċess f'5 passi faċli biex isegwu:
Biex tibda, huwa denju u tajjeb li tidentifika d-direttorju tad-dejta attwali billi tuża l-kmand li ġej. Assumix biss li għadu /var/lib/mysql
peress li seta' nbidel fil-passat.
# mysql -u root -p -e "SELECT @@datadir;"
Wara li ddaħħal il-password MySQL, l-output għandu jkun simili għal.
Biex tevita l-korruzzjoni tad-dejta, waqqaf is-servizz jekk bħalissa qed jaħdem qabel ma tipproċedi. Uża l-kmandi magħrufa tas-systemd biex tagħmel dan:
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status OR # service mysql stop # service mysql status
Jekk is-servizz ġie mnaqqas, l-output tal-aħħar kmand għandu jkun kif ġej:
Imbagħad ikkopja b'mod rikorsiv il-kontenut ta' /var/lib/mysql
għal /mnt/mysql-data
filwaqt li tippreserva l-permessi u t-timestamps oriġinali:
# cp -R -p /var/lib/mysql/* /mnt/mysql-data
Editja l-fajl tal-konfigurazzjoni (my.cnf
) biex tindika d-direttorju tad-dejta l-ġdid (/mnt/mysql-data
f’dan il-każ).
# vi /etc/my.cnf OR # vi /etc/mysql/my.cnf
Sib is-sezzjonijiet [mysqld]
u [client]
u agħmel il-bidliet li ġejjin:
Under [mysqld]: datadir=/mnt/mysql-data socket=/mnt/mysql-data/mysql.sock Under [client]: port=3306 socket=/mnt/mysql-data/mysql.sock
Issejvja l-bidliet u mbagħad ipproċedi bil-pass li jmiss.
Dan il-pass huwa applikabbli biss għal RHEL/CentOS u d-derivattivi tiegħu.
Żid il-kuntest tas-sigurtà SELinux ma '/mnt/mysql-data
qabel ma terġa' tibda MariaDB.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # restorecon -R /mnt/mysql-data
Li jmiss ibda mill-ġdid is-servizz MySQL.
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status OR # service mysql stop # service mysql status
Issa, uża l-istess kmand bħal fil-Pass 1 biex tivverifika l-post tad-direttorju tad-dejta l-ġdid:
# mysql -u root -p -e "SELECT @@datadir;"
Idħol f'MariaDB, oħloq database ġdida u mbagħad iċċekkja /mnt/mysql-data
:
# mysql -u root -p -e "CREATE DATABASE tecmint;"
Prosit! Bdilt b'suċċess id-direttorju tad-dejta għal MySQL jew MariaDB.
F'din il-kariga, iddiskutejna kif tibdel id-direttorju tad-dejta f'server MySQL jew MariaDB li jaħdem fuq distribuzzjonijiet CentOS/RHEL 7 u Ubuntu/Debian.
Għandek xi mistoqsijiet jew kummenti dwar dan l-artikolu? Ħossok liberu li tgħarrafna billi tuża l-formola hawn taħt - aħna dejjem ferħanin li nisimgħu mingħandek!