Hvordan endre MySQL/MariaDB Datakatalog på Ubuntu

Hvordan endre MySQL/MariaDB Datakatalog på Ubuntu
Som standard legger MySQL/MariaDB SQL -databaseservere dataene sine på rotfilsystemet. Dette er ikke det du vil ha i produksjonsserverne dine mesteparten av tiden. Det kan være lurt å legge databaseserverdataene til en annen harddisk eller SSD -partisjon.

I denne artikkelen skal jeg vise deg hvordan du endrer MySQL/MariaDB -databasens standard datakatalog på Ubuntu. Så la oss komme i gang.

Installere MySQL/MariaDB på Ubuntu:

MySQL/MariaDB -databasepakker er tilgjengelige i det offisielle Ubuntu -pakkelageret. Så du kan enkelt installere den derfra ved hjelp av APT Package Manager.

Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering

Hvis du nå vil installere MySQL -databaseserveren, kjører du følgende kommando:

$ sudo apt install mysql-server mysql-client

Hvis du vil installere MariaDB -databaseserveren, kjører du følgende kommando:

$ sudo apt installer MariaDB-server MariaDB-Client

Jeg skal installere MariaDB -databaseserveren i denne artikkelen. Du kan installere mysql hvis du vil.

Når du har kjørt den nødvendige installasjonskommandoen, bør du se følgende ledetekst. trykk y Og trykk deretter å fortsette.

MySQL/MariaDB -databaseserveren skal installeres.

Finne standard MySQL/MariaDB Data Directory:

Du kan finne standard datakatalog for MySQL/MariaDB -databasen veldig enkelt med grep eller Egrep kommando.

$ sudo grep -r -farge datadir/etc/mysql/*

Som du ser er standard datakatalog for MariaDB -databaseserveren /var/lib/mysql. Konfigurasjonsfilen til MariaDB -databaseserveren er /etc/mysql/mariadb.konf.d/50-server.CNF. Hvis du vil endre standard datakatalog for MariaDB -databaseserveren, må du endre den i konfigurasjonsfilen /etc/mysql/mariadb.konf.d/50-server.CNF.

Standard datakatalog for MySQL -databaseserveren er /var/lib/mysql også. Men konfigurasjonsfilen er forskjellig for MySQL -databaseserveren. For MySQL er konfigurasjonsfilen /etc/mysql/mysql.konf.d/mysqld.CNF. Hvis du har installert MySQL -databaseserver, må du endre denne konfigurasjonsfilen for å endre standard datakatalog.

I de neste seksjonene skal jeg vise deg hvordan du utarbeider en harddisk eller SSD -partisjon for MySQL/MariaDB Data Directory og endrer standard datakatalog.

Forbereder MySQL/MariaDB Data Directory:

I dette avsnittet skal jeg vise deg hvordan du utarbeider harddisken eller SSD -partisjonen for MySQL/MariaDB Data Directory.

Du kan liste opp alle installerte harddisker eller SSD -er på datamaskinen din med følgende kommando:

$ sudo LSBLK | grep disk

Alle installerte harddisker og SSD -er skal være oppført. SDB er harddisken der jeg vil legge MySQL/MariaDB -dataene mine. Din skal være annerledes. Så erstatt den med din fra nå av.

Nå må du lage en ny partisjon på harddisken SDB med fdisk.

MERK: I denne delen vil jeg ikke gå gjennom detaljene om hvordan fdisk fungerer. For å lære hvordan du deler harddisker eller SSD -er med Fdisk, kan du lese artikkelen hvordan du bruker Fdisk i Linux.

Å lage en partisjon på harddisken SDB, Åpne den med Fdisk som følger:

$ sudo fdisk /dev /sdb

Nå, trykk n Og trykk deretter .

Nå, trykk p Og trykk deretter .

Nå, trykk .

trykk .

trykk . En ny partisjon bør opprettes.

Nå, trykk w og trykk .

La oss si, harddiskpartisjonen du vil bruke som MySQL/MariaDB Data Directory er /dev/sdb1.

Formater partisjonen nå /dev/sdb1 med følgende kommando:

$ sudo mkfs.ext4 -l db_data /dev /sdb1

Lag nå en ny katalog /db for å moutning /dev/sdb1 skillevegg.

$ sudo mkdir /db

/db vil være den nye datakatalogen til MySQL/MariaDB.

Nå åpen /etc/fstab fil med følgende kommando:

$ sudo nano /etc /fstab

Legg nå til følgende linje på slutten av filen og lagre filen ved å trykke på + x etterfulgt av y og .

/dev /sdb1 /db ext4 standardverdier 0 0

Start datamaskinen på nytt med følgende kommando:

$ sudo omstart

Når datamaskinen din starter, /dev/sdb1 skal monteres på /db Som du kan se på skjermbildet nedenfor.

$ df -h /dB

Bytt eier og gruppen av /db katalog til mysql med følgende kommando:

$ sudo chown mysql: mysql /db

Nå må du stoppe MySQL/MariaDB -databasetjenesten og kopiere alle filene fra standard datakatalog /var/lib/mysql til den nye datakatalogen /db.

Hvis du bruker MariaDB, kan du stoppe MariaDB -tjenesten med følgende kommando:

$ sudo systemctl stopp mariadb

Hvis du bruker MySQL, så stopp MySQL -tjenesten med følgende kommando:

$ sudo systemctl stopp mysql

Kopier nå alt innholdet i standard datakatalog /var/lib/mysql til den nye datakatalogen /db med følgende kommando:

$ sudo rsync -avzh/var/lib/mysql//db

Alt innholdet i /var/lib/mysql Katalogen skal kopieres til den nye katalogen /db.

/db Katalogen er nå utarbeidet til å være den nye MySQL/MariaDB -datakatalogen.

Konfigurere apparmor:

Nå må du konfigurere apparmor for å tillate /db Å være en MySQL/MariaDB Data Datalory.

For å gjøre det, rediger Apparmor Alias ​​-filen /etc/apparmor.d/tunables/alias følgende:

$ sudo nano /etc /apparmor.d/tunables/alias

Legg nå til følgende linje på slutten av filen og lagre den ved å trykke på + x etterfulgt av y og .

alias /var /lib /mysql -> /db,

Nå, start Apparmor Service med følgende kommando:

$ sudo SystemCTL Restart Apparmor

Nå er du klar til å endre datakatalogen til MySQL/MariaDB.

Endring av MySQL/MariaDB Data Directory:

Å endre datakatalogen fra /var/lib/mysql til /db, Du må redigere den nødvendige konfigurasjonsfilen, avhengig av om du bruker MySQL/MariaDB.

Hvis du bruker MariaDB, er konfigurasjonsfilen du må redigere /etc/mysql/mariadb.konf.d/50-server.CNF.

Hvis du bruker MySQL, er konfigurasjonsfilen for å redigere /etc/mysql/mysql.konf.d/mysqld.CNF.

Rediger nå den nødvendige konfigurasjonsfilen, avhengig av om du bruker MySQL/MariaDB som følger:

MariaDB:

$ sudo nano/etc/mysql/mariadb.konf.d/50-server.CNF

Mysql:

$ sudo nano/etc/mysql/mysql.konf.d/mysqld.CNF

Finn nå linjen som merket på skjermdumpen nedenfor.

Endre Datadir til /db Som vist på skjermbildet nedenfor. Lagre deretter filen ved å trykke på + x etterfulgt av y og .

Start nå MySQL/Mariabd -tjenesten med følgende kommando:

MariaDB:

$ sudo SystemCTL Start MariaDB

Mysql:

$ sudo systemctl start mysql

Testing MySQL/MariaDB:

Prøv nå å koble til MySQL/MariaDB -serveren som følger:

$ sudo mysql -u root -p

Skriv deretter inn passordet til MySQL/MariaDB -serveren og trykk .

Du bør være logget inn på MySQL/MariaDB -skallet som rot Databasebruker. Det er en indikasjon på at det fungerer.

Men bare for å være sikker, skriv inn følgende spørsmål for å finne hvilken katalog MySQL/MariaDB bruker for øyeblikket som datakatalog.

SQL> SELECT @@ DATADIR;

Som du ser er den gjeldende datakatalogen /db Akkurat som jeg konfigurerte.

Så det er slik du endrer MySQL/MariaDB -datakatalogen på Ubuntu. Takk for at du leste denne artikkelen.