Myhli MySQL maglumat bazalaryny köne-täze serwere nädip geçirmeli
MySQL/MariaDB maglumat bazasyny serwerleriň arasynda geçirmek ýa-da göçürmek, adatça, diňe birnäçe aňsat ädim ätýär, ýöne maglumat geçirmek isleýän maglumatlaryňyzyň mukdaryna baglylykda birnäçe wagt alyp biler.
Bu makalada ähli MySQL/MariaDB maglumat bazalaryňyzy köne Linux serwerinden täze serwere geçirmegi ýa-da göçürmegi, üstünlikli import etmegiňizi we maglumatlaryň bardygyny tassyklamagy öwrenersiňiz.
- Iki serwerde birmeňzeş paýlanyş bilen MySQL-iň birmeňzeş wersiýasynyň bardygyna göz ýetiriň.
- Maglumat bazasynyň zibil faýlyny we import edilýän maglumatlar binýadyny saklamak üçin iki serwerde ýeterlik boş ýeriň bardygyna göz ýetiriň.
- Maglumatlar bazasynyň
maglumatlary
katalogyny başga bir serwere geçirmegi hiç wagt pikir etmäň. Maglumatlar bazasynyň içerki gurluşy bilen hiç wagt bulaşmaň, geljekde kynçylyklar bilen ýüzbe-ýüz bolarsyňyz.
Faýly taşlamak üçin MySQL maglumat bazalaryny eksport ediň
Ilki bilen köne serweriňize girip başlaň we görkezilişi ýaly systemctl buýrugyny ulanyp mysql/mariadb hyzmatyny duruzyň.
# systemctl stop mariadb OR # systemctl stop mysql
Soňra ähli MySQL maglumat bazalaryňyzy mysqldump buýrugyny ulanyp bir faýla taşlaň.
# mysqldump -u [user] -p --all-databases > all_databases.sql
Zyňyndy gutaransoň, maglumat bazalaryny geçirmäge taýyn.
Dataeke-täk maglumat bazasyny zyňmak isleseňiz, ulanyp bilersiňiz:
# mysqldump -u root -p --opt [database name] > database_name.sql
MySQL maglumat bazalary zyňylýan faýly täze serwere geçiriň
Indi maglumat bazalaryňyzyň zibil faýlyny görkezilişi ýaly öý katalogynyň aşagyndaky täze serwere geçirmek üçin scp buýrugyny ulanyň.
# scp all_databases.sql [email :~/ [All Databases] # scp database_name.sql [email :~/ [Singe Database]
Birikdirilenden soň maglumatlar bazasy täze serwere geçiriler.
MySQL Maglumatlar bazalarynyň zibil faýlyny täze serwere import ediň
MySQL zibil faýly täze serwere geçirilenden soň, ähli maglumat bazalaryňyzy MySQL-a import etmek üçin aşakdaky buýrugy ulanyp bilersiňiz.
# mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
Import tamamlanandan soň, mysql gabygyndaky aşakdaky buýrugy ulanyp, iki serwerdäki maglumat bazalaryny barlap bilersiňiz.
# mysql -u user -p # show databases;
MySQL maglumat bazalaryny we ulanyjylaryny täze serwere geçiriň
MySQL maglumat bazalaryňyzyň, ulanyjylaryňyzyň, rugsatlaryňyzyň we maglumat gurluşynyň köne serwerini täze birine geçirmek isleseňiz, mysql/mariadb maglumat katalogyndan ähli mazmuny görkezilişi ýaly täze serwere göçürmek üçin rsync buýrugyny ulanyp bilersiňiz.
# rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/
Geçiriş tamamlanandan soň, mysql/mariadb maglumat katalogynyň eýeçiligini ulanyjy we mysql toparyna belläp bilersiňiz, soňra ähli faýllaryň geçirilendigini barlamak üçin katalog sanawyny düzüp bilersiňiz.
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
Bu hemmesi! Bu makalada ähli MySQL/MariaDB maglumat bazalaryny bir serwerden beýlekisine aňsatlyk bilen göçürmegi öwrendiňiz. Beýleki usullar bilen deňeşdirilende bu usuly nädip tapyp bilersiňiz? Bize ýetmek üçin aşakdaky teswir formasy arkaly sizden eşitmek isleýäris.