Panimula

Sa paglaki ng mga database ng oras at maaaring maging napakalaking para sa puwang sa iyong filesystem.


Upang maiwasan ang mga ito mula sa pag-outgrowing ng magagamit na puwang, maaari mong ligtas na ilipat ang direktoryo ng root ng data ng iyong MySQL sa ibang lokasyon. Makatutulong ito sa iyo na lumikha ng mas maraming puwang, pagamit ang buong kapangyarihan ng mga pasilidad ng imbakan, at mai-optimize ang pagganap ng mga tampok na ito. Ito ay isang karaniwang gawain para sa MySQL hosting.

Tutulungan ka ng gabay na ito na ilipat ang direktoryo ng data ng root ng iyong MySQL database sa ibang lokasyon.

Handa na? Umalis na tayo!

Bago ka magsimula

Para sa matagumpay na pagtakbo na ito, kailangan mo ang sumusunod:

  • MySQL, naka-install at na-configure sa iyong server ng Ubuntu 18.04
  • Bilang karagdagan, gagamitin namin / mnt / dami- can3-01 bilang bagong lokasyon para sa direktoryo ng data ng ugat.

Hakbang 1 – Pag-aayos ng direktoryo ng data ng ugat

Ang unang bagay kapag inililipat ang direktoryo ng data ng ugat ng MySQL ay upang matiyak ang kasalukuyang lokasyon nito. Gagamitin namin ang mga kredensyal ng admin upang simulan ang interactive session ng MySQL: Una, patakbuhin ang utos sa ibaba upang ma-access ang iyong MySQL prompt.

$ Mysql -u ugat -p

Ipasok ang iyong root password para sa MySQL at i-click ENTER. Kapag na-access mo ang MySQL prompt, piliin ang direktoryo ng interes ng data ng ugat:

msql>

piliin ang @@ datadir;

Bibigyan ka nito ng isang output na katulad sa isa sa ibaba:

+—————–+
| @@ datadir |
+—————–+
| / var / lib / mysql / |
+—————–+
1 hilera sa set (0.00 sec)

Ang output sa itaas ay nagpapahiwatig na ang database ng MySQL ay naka-set up upang magamit / var / lib / mysql / bilang default na direktoryo nito. Ito ang aming direktoryo ng interes. Kinumpirma namin na ito ang direktoryo ng data na kinakailangan naming lumipat sa ibang lokasyon. Ngayon, gamitin ang labasan utos na lumabas sa monitor.

Upang mapanatili ang integridad ng iyong data, patakbuhin ang utos sa ibaba upang isara ang iyong serbisyo sa MySQL bago gumawa ng anumang pagbabago sa iyong direktoryo ng data.

$ Sudo systemctl itigil ang mysql

Ang utos sa itaas ay may isang pagkukulang; hindi nito ipinapakita ang katayuan ng utos ng serbisyo. Upang makita kung matagumpay mong isinara ang iyong serbisyo ng MySQL, patakbuhin ang utos sa ibaba:

$ Sudo systemctl status mysql

Kung nakakakuha ka ng isang output kasama ang sumusunod na linya, matagumpay na tumigil ang MySQL:

. . .
Sep 27 11:24:20 ubuntu-512mb-can3-01systemd [1]: HumintoMySQLCommunityServer.

Ang server ng MySQL database ay hindi tumatakbo at ligtas na ngayon upang ilipat ang direktoryo ng root data sa ibang lokasyon. Gagamitin namin ang utos na rsync upang magawa ito:

$ sudo rsync -av / var / lib / mysql / mnt / volume-can3-01

Ang utos sa itaas ay may kasamang isang -isang watawat upang mapanatili ang mga pribilehiyo ng direktoryo at iba pang mga pag-aari. Bukod, nagtatampok ito ng -bandila v na naghahatid ng isang output ng pandiwa upang paganahin kang walang putol na subaybayan ang pag-unlad.

Kapag tapos na ang proseso ng rsync, gamitin .pan extension upang palitan ang pangalan ng iyong kasalukuyang folder.

$ sudo mv / var / lib / mysql /var/lib/mysql.bak

Tinatanggal ang folder na ito sa pagkalito na nangyayari mula sa luma at bagong lokasyon ng file. Panatilihin ang kasalukuyang folder hanggang sa ang relocation ay nakumpirma na matagumpay.

Maaari na kami ngayong tumuon sa pagsasaayos.

Hakbang 2 – Pag-configure ng Iyong Bagong Directory ng Data

Ang MySQL database ng server ay maaaring lampasan ang mga patakaran sa pagsasaayos sa pamamagitan ng isang bilang ng mga paraan. Bilang default, ang datadir ng MySQL ay matatagpuan sa file /etc/mysql/mysql.conf.d/mysqld.cnf na bahagi ng / var / lib / mysql direktoryo. Una, patakbuhin ang utos sa ibaba upang buksan ang file:

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Kapag binuksan ang file, ituro ang linya na may halaga datadir =. I-edit ang landas na sumusunod sa linyang ito upang sumalamin / mnt / volume-can3-01 / mysql, iyon ay:

. . .
datadir = / mnt / volume-can3-01 / mysql
. . .

Halos tapos ka na sa pagsasaayos, ngunit may isa pang aspeto na mai-configure. Kailangan mong mag-set up AppArmor upang payagan ang MySQL database server na sumulat sa iyong bagong nilikha na direktoryo. Gagawa kami ng isang alias sa pagitan ng aming bagong lokasyon at ang dating direktoryo.

Una, patakbuhin ang utos sa ibaba upang buksan ang alias file ng AppArmor:

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

Susunod, idagdag ang panuntunan ng alyas sa ibaba sa ilalim ng file na ito:

. . .
alyas / var / lib / mysql / -> / mnt / dami-can3-01 / mysql /,
. . .

Ngayon, i-restart ang AppArmor upang maipatupad ang mga pagbabagong ito:

$ Sudo systemctl i-restart ang apparmor

Tandaan: Kung ang AppArmor ay hindi na-configure nang tama makakakuha ka ng error sa ibaba:

Nabigo si Job para sa mysql.service dahil sa proseso ng kontrol
lumabas sa error code. Tingnan "katayuan ng systemctl mysql.service"
at"journalctl -xe"para sa mga detalye.

Bilang karagdagan, pareho ang dyaryo at systemctl ay maghatid ng mga output na nagtatapos sa:

Hulyo 1912: 04: 23 ubuntu-512mb-nyc1-01 systemd [1]:
mysql.service: Lumabas ang pangunahing proseso, code = lumabas, katayuan = 1 / FAILURE

Hakbang 3 – Pag-restart ng Ang MySQL Service

Ang pag-restart ng MySQL ay hindi dapat maging mahirap! Ngunit sa puntong ito, kung muling i-restart ang serbisyo makakakuha ka ng isang mensahe ng error. Ang error ay hindi isang resulta ng isang hindi maayos na na-configure na AppArmor, ngunit dahil sa kawalan ng isang direktoryo at simbolikong link. Ang nangyayari kapag mysql-systemd-start nabigo upang makahanap ng alinman sa isang simbolikong link (-L) o isang direktoryo (-d).

/ usr / share / mysql / mysql-systemd-start

. . .
kung [! -d / var / lib / mysql] && [! -L / var / lib / mysql]; pagkatapos
sigaw"Ang data ng MySQL dir ay hindi natagpuan sa / var / lib / mysql. Mangyaring lumikha ng isa."
labasan 1
fi

kung [! -d / var / lib / mysql / mysql] && [! -L / var / lib / mysql / mysql]; pagkatapos
sigaw"Hindi natagpuan ang database ng system ng MySQL. Mangyaring patakbuhin ang tool ng mysql_install_db."
labasan 1
fi

. . .

Upang maipasa ang pagsusulit ng mysql-systemd-start script environment, gagawa kami ng isang pangunahing modelo ng direktoryo upang madaling paganahin ang server ng MySQL.

$ sudo mkdir / var / lib / mysql / mysql -p

Maaari mo na ngayong i-restart ang iyong serbisyo sa MySQL

$ Sudo systemctl simulan ang mysql
$ Sudo systemctl status mysql

Ngayon, mag-log in sa iyong MySQL prompt:

$ Mysql -u ugat -p

Suriin ang direktoryo ng root data

msql>

piliin ang @@ datadir;

Kung ginagamit ang bagong direktoryo, makakakuha ka ng output:

+—————————-+
| @@ datadir |
+—————————-+
| / mnt / dami-can3-01 / mysql / |
+—————————-+
1 hilera sa set (0.01 sec)

Susunod, kumpirmahin na ang bagong database ay gumagana nang tama at i-verify ang pagiging tunay ng umiiral na data. Kung okay ang lahat, isagawa ang utos sa ibaba upang tanggalin ang backup file na nagtatapos sa .pan pagpapalawig.

$ Sudo rm -Rf /var/lib/mysql.bak

I-restart ang iyong serbisyo sa MySQL muli upang maipatupad ang lahat ng mga pagbabago:

$ Sudo systemctl i-restart ang mysql
$ Sudo systemctl status mysql

Yun lang!

Konklusyon

Binabati kita! Matagumpay mong inilipat ang direktoryo ng data ng ugat ng iyong server ng MySQL database sa ibang lokasyon at na-configure ang AppArmor upang hawakan ang mga bagong pagbabago.

Suriin ang mga nangungunang 3 mga serbisyo sa pagho-host ng Linux

FastComet

Panimulang presyo:
$ 2.95


Kahusayan
9.7


Pagpepresyo
9.5


Friendly ng Gumagamit
9.7


Suporta
9.7


Mga Tampok
9.6

Basahin ang mga review

Bisitahin ang FastComet

Hostinger

Panimulang presyo:
$ 0.99


Kahusayan
9.3


Pagpepresyo
9.3


Friendly ng Gumagamit
9.4


Suporta
9.4


Mga Tampok
9.2

Basahin ang mga review

Bisitahin ang Hostinger

ChemiCloud

Panimulang presyo:
$ 2.76


Kahusayan
10


Pagpepresyo
9.9


Friendly ng Gumagamit
9.9


Suporta
10


Mga Tampok
9.9

Basahin ang mga review

Bisitahin ang ChemiCloud

Kaugnay na Mga Artikulo Paano-Sa

  • Paano mag-tune at i-optimize ang Pagganap ng MySQL 5.7 sa isang Ubuntu 18.04 VPS o Dedicated Server
    dalubhasa
  • Paano Gumawa ng Mga Bagong Account sa Gumagamit ng MySQL at Pamahalaan ang Mga Pribilehiyo ng MySQL
    newbie
  • Paano Mag-install at Lumikha ng MySQL Sandboxes kasama ang DBdeployer sa isang Ubuntu 18.04 VPS o Dedicated Server
    newbie
  • Paano Mag-install ng Magento Sa Ubuntu 18.04
    nasa pagitan
  • Paano Hindi Paganahin ang MySQL 5 "Mahigpit na Mode" sa isang Ubuntu 18.04 VPS o Dedicated Server
    nasa pagitan
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me