Yadda ake Canza Tsohuwar Jagorar Bayanan MySQL/MariaDB a cikin Linux


Bayan shigar da abubuwan da ke cikin tarin LAMP akan uwar garken CentOS/RHEL 7, akwai abubuwa guda biyu da kuke son yi.

Wasu daga cikinsu suna da alaƙa da haɓaka tsaro na Apache da MySQL/MariaDB, yayin da wasu na iya amfani da su ko a'a bisa ga saitinmu ko buƙatunmu.

Misali, dangane da yadda ake tsammanin amfani da uwar garken bayanan, ƙila mu so mu canza tsohuwar adireshin bayanan (/var/lib/mysql) zuwa wani wuri daban. Wannan shine yanayin lokacin da ake tsammanin irin wannan kundin adireshi ya yi girma saboda yawan amfani.

In ba haka ba, tsarin fayil inda aka adana /var na iya rugujewa a lokaci guda yana haifar da gazawar tsarin gaba ɗaya. Wani yanayin inda canza tsoho directory shine lokacin da muke da keɓaɓɓen rabon hanyar sadarwa wanda muke so muyi amfani da shi don adana ainihin bayanan mu.

Don wannan dalili, a cikin wannan labarin, zamuyi bayanin yadda ake canza tsohuwar adireshin bayanan MySQL/MariaDB zuwa wata hanya ta daban akan uwar garken CentOS/RHEL 7 da rarrabawar Ubuntu/Debian.

Kodayake za mu yi amfani da MariaDB, abubuwan da aka bayyana da matakan da aka ɗauka a cikin wannan labarin sun shafi duka biyu zuwa MySQL da MariaDB sai dai in an lura da su.

Canza tsohowar MySQL/MariaDB Data Directory

Lura: Za mu ɗauka cewa sabon kundin bayanan mu shine /mnt/mysql-data. Yana da mahimmanci a lura cewa wannan kundin adireshi yakamata ya zama mallakar mysql:mysql.

# mkdir /mnt/mysql-data
# chown -R mysql:mysql /mnt/mysql-data

Domin saukaka muku, mun raba tsarin zuwa matakai 5 masu saukin bi:

Don farawa, ya cancanci kuma da kyau a gano adireshin bayanan na yanzu ta amfani da umarni mai zuwa. Kada ku ɗauka har yanzu /var/lib/mysql tunda ana iya canza shi a baya.

# mysql -u root -p -e "SELECT @@datadir;"

Bayan kun shigar da kalmar sirri ta MySQL, abin fitarwa ya kamata ya zama kama da.

Don guje wa cin hanci da rashawa, dakatar da sabis ɗin idan yana gudana a halin yanzu kafin a ci gaba. Yi amfani da sanannun umarnin don yin haka:

------------- On SystemD ------------- 
# systemctl stop mariadb
# systemctl is-active mariadb

------------- On SysVInit ------------- 
# service mysqld stop
# service mysqld status

OR

# service mysql stop
# service mysql status

Idan an saukar da sabis ɗin, fitar da umarni na ƙarshe ya zama kamar haka:

Sannan kwafi akai-akai abubuwan da ke cikin /var/lib/mysql zuwa /mnt/mysql-data tana kiyaye izini na asali da tambarin lokaci:

# cp -R -p /var/lib/mysql/* /mnt/mysql-data

Shirya fayil ɗin sanyi (my.cnf) don nuna sabon kundin adireshi (/mnt/mysql-data a wannan yanayin).

# vi /etc/my.cnf
OR
# vi /etc/mysql/my.cnf

Nemo sassan [mysqld] da [abokin ciniki] kuma ku yi canje-canje masu zuwa:

Under [mysqld]:
datadir=/mnt/mysql-data
socket=/mnt/mysql-data/mysql.sock

Under [client]:
port=3306
socket=/mnt/mysql-data/mysql.sock

Ajiye canje-canje sannan ku ci gaba da mataki na gaba.

Wannan matakin yana aiki ne kawai ga RHEL/CentOS da abubuwan da suka samo asali.

Ƙara mahallin tsaro na SELinux zuwa /mnt/mysql-data kafin a sake farawa MariaDB.

# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?"
# restorecon -R /mnt/mysql-data

Na gaba zata sake farawa da MySQL sabis.

------------- On SystemD ------------- 
# systemctl stop mariadb
# systemctl is-active mariadb

------------- On SysVInit ------------- 
# service mysqld stop
# service mysqld status

OR

# service mysql stop
# service mysql status

Yanzu, yi amfani da umarni iri ɗaya kamar a cikin Mataki na 1 don tabbatar da wurin sabon kundin adireshi:

# mysql -u root -p -e "SELECT @@datadir;"

Shiga zuwa MariaDB, ƙirƙirar sabon bayanan bayanai sannan a duba /mnt/mysql-data:

# mysql -u root -p -e "CREATE DATABASE tecmint;"

Taya murna! Kun sami nasarar canza kundin bayanai don MySQL ko MariaDB.

A cikin wannan sakon, mun tattauna yadda za a canza bayanan bayanan a cikin MySQL ko uwar garken MariaDB da ke gudana akan CentOS/RHEL 7 da Ubuntu/Debian rabawa.

Kuna da wasu tambayoyi ko sharhi game da wannan labarin? Jin kyauta don sanar da mu ta amfani da fom ɗin da ke ƙasa - koyaushe muna farin cikin ji daga gare ku!