Jinsi ya Kuhamisha Hifadhidata Zote za MySQL Kutoka Kale hadi Seva Mpya


Kuhamisha au Kuhamisha hifadhidata ya MySQL/MariaDB kati ya seva kwa kawaida huchukua hatua chache tu rahisi, lakini uhamishaji wa data unaweza kuchukua muda kulingana na kiasi cha data ungependa kuhamisha.

Katika makala hii, utajifunza jinsi ya kuhamisha au kuhamisha hifadhidata zako zote za MySQL/MariaDB kutoka kwa seva ya zamani ya Linux hadi kwenye seva mpya, ingiza kwa ufanisi na uhakikishe kuwa data iko.

  • Hakikisha kuwa toleo sawa la MySQL limesakinishwa kwenye seva zote mbili zenye usambazaji sawa.
  • Hakikisha kuwa una nafasi ya kutosha kwenye seva zote mbili ili kushikilia faili ya hifadhidata na hifadhidata iliyoletwa.
  • Usiwahi kufikiria kuhamisha saraka ya data ya hifadhidata hadi kwenye seva nyingine. Usisumbue kamwe muundo wa ndani wa hifadhidata, ukifanya hivyo, utakumbana na matatizo siku zijazo.

Hamisha Hifadhidata ya MySQL hadi Tupa Faili

Kwanza anza kwa kuingia kwenye seva yako ya zamani na usimamishe huduma ya mysql/mariadb kwa kutumia systemctl amri kama inavyoonyeshwa.

# systemctl stop mariadb
OR
# systemctl stop mysql

Kisha tupa hifadhidata zako zote za MySQL kwa faili moja kwa kutumia mysqldump amri.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Mara tu utupaji utakapokamilika, uko tayari kuhamisha hifadhidata.

Ikiwa unataka kutupa hifadhidata moja, unaweza kutumia:

# mysqldump -u root -p --opt [database name] > database_name.sql

Hamisha Hifadhidata za MySQL kwa Seva Mpya

Sasa tumia amri ya scp kuhamisha faili yako ya utupaji ya hifadhidata kwa seva mpya chini ya saraka ya nyumbani kama inavyoonyeshwa.

# scp all_databases.sql [email :~/       [All Databases]
# scp database_name.sql [email :~/       [Singe Database]

Mara tu unapounganisha, hifadhidata itahamishiwa kwa seva mpya.

Ingiza Faili ya Kutupa Hifadhidata ya MySQL kwa Seva Mpya

Mara tu faili ya MySQL ya kutupwa imehamishwa hadi kwa seva mpya, unaweza kutumia amri ifuatayo kuingiza hifadhidata zako zote kwenye MySQL.

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Mara tu uagizaji utakapokamilika, unaweza kuthibitisha hifadhidata kwenye seva zote mbili kwa kutumia amri ifuatayo kwenye ganda la mysql.

# mysql -u user -p
# show databases;

Hamisha Hifadhidata za MySQL na Watumiaji hadi Seva Mpya

Ikiwa ungependa kuhamisha hifadhidata zako zote za MySQL, watumiaji, ruhusa na muundo wa seva ya zamani hadi mpya, unaweza kutumia amri ya rsync kunakili maudhui yote kutoka kwenye saraka ya data ya mysql/mariadb hadi seva mpya kama inavyoonyeshwa.

# rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

Mara tu uhamishaji unapokamilika, unaweza kuweka umiliki wa saraka ya data ya mysql/mariadb kwa mtumiaji na kikundi mysql, kisha fanya orodha ya saraka ili kuangalia kuwa faili zote zimehamishwa.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

Ni hayo tu! Katika makala hii, umejifunza jinsi ya kuhamisha kwa urahisi hifadhidata zote za MySQL/MariaDB kutoka seva moja hadi nyingine. Je, unapataje njia hii ikilinganishwa na njia nyinginezo? Tungependa kusikia kutoka kwako kupitia fomu ya maoni hapa chini ili kuwasiliana nasi.