Hvernig á að breyta sjálfgefna MySQL/MariaDB gagnaskrá í Linux


Eftir að hafa sett upp íhluti LAMP-stafla á CentOS/RHEL 7 netþjóni eru nokkrir hlutir sem þú gætir viljað gera.

Sum þeirra hafa að gera með að auka öryggi Apache og MySQL/MariaDB, á meðan aðrir geta átt við eða ekki í samræmi við uppsetningu okkar eða þarfir.

Til dæmis, miðað við væntanlega notkun gagnagrunnsþjónsins, gætum við viljað breyta sjálfgefna gagnaskránni (/var/lib/mysql) í annan stað. Þetta er raunin þegar búist er við að slík skrá muni stækka vegna mikillar notkunar.

Annars gæti skráarkerfið þar sem /var er geymt hrunið á einum tímapunkti sem veldur því að allt kerfið bilar. Önnur atburðarás þar sem breytt er sjálfgefna skránni er þegar við erum með sérstaka nethlutdeild sem við viljum nota til að geyma raunveruleg gögn okkar.

Af þessum sökum, í þessari grein, munum við útskýra hvernig á að breyta sjálfgefna MySQL/MariaDB gagnaskránni í aðra slóð á CentOS/RHEL 7 netþjóni og Ubuntu/Debian dreifingum.

Þó að við munum nota MariaDB, þá eiga hugtökin sem eru útskýrð og skrefin sem tekin eru í þessari grein bæði við MySQL og MariaDB nema annað sé tekið fram.

Breyting á sjálfgefna MySQL/MariaDB gagnaskránni

Athugið: Við ætlum að gera ráð fyrir að nýja gagnaskráin okkar sé /mnt/mysql-data. Það er mikilvægt að hafa í huga að þessi skrá ætti að vera í eigu mysql:mysql.

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

Til hægðarauka höfum við skipt ferlinu í 5 skref sem auðvelt er að fylgja eftir:

Til að byrja er það verðugt og vel að bera kennsl á núverandi gagnaskrá með því að nota eftirfarandi skipun. Ekki bara gera ráð fyrir að það sé enn /var/lib/mysql þar sem það gæti hafa verið breytt í fortíðinni.

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

Eftir að þú hefur slegið inn MySQL lykilorðið ætti úttakið að vera svipað og.

Til að forðast gagnaspillingu skaltu stöðva þjónustuna ef hún er í gangi áður en þú heldur áfram. Notaðu vel þekktar skipanir kerfisins til að gera það:

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

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

OR

# service mysql stop
# service mysql status

Ef þjónustan hefur verið felld niður ætti framleiðsla síðustu skipunarinnar að vera sem hér segir:

Afritaðu síðan innihald /var/lib/mysql í /mnt/mysql-data og varðveitir upprunalegar heimildir og tímastimpla:

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

Breyttu stillingarskránni (my.cnf) til að gefa til kynna nýju gagnaskrána (/mnt/mysql-data í þessu tilfelli).

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

Finndu [mysqld] og [client] hlutana og gerðu eftirfarandi breytingar:

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

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

Vistaðu breytingarnar og haltu síðan áfram með næsta skref.

Þetta skref á aðeins við um RHEL/CentOS og afleiður þess.

Bættu SELinux öryggissamhenginu við /mnt/mysql-data áður en þú endurræsir MariaDB.

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

Næst skaltu endurræsa MySQL þjónustuna.

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

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

OR

# service mysql stop
# service mysql status

Notaðu nú sömu skipunina og í skrefi 1 til að staðfesta staðsetningu nýju gagnaskrárinnar:

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

Skráðu þig inn á MariaDB, búðu til nýjan gagnagrunn og athugaðu síðan /mnt/mysql-data:

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

Til hamingju! Þú hefur breytt gagnaskránni fyrir MySQL eða MariaDB.

Í þessari færslu höfum við rætt hvernig á að breyta gagnaskránni á MySQL eða MariaDB netþjóni sem keyrir á CentOS/RHEL 7 og Ubuntu/Debian dreifingum.

Hefur þú einhverjar spurningar eða athugasemdir við þessa grein? Ekki hika við að láta okkur vita með því að nota formið hér að neðan - við erum alltaf ánægð að heyra frá þér!