Nagy méretű adatbázisok migrálása az Azure Database for MySQL-be mydumper/myloader használatával
A következőkre vonatkozik: Azure Database for MySQL – Egykiszolgálós Azure Database for MySQL – Rugalmas kiszolgáló
Az Azure Database for MySQL egy felügyelt szolgáltatás, amellyel magas rendelkezésre állású MySQL-adatbázisokat futtathat, kezelhet és skálázhat a felhőben. Az 1 TB-nál nagyobb MySQL-adatbázisok Azure Database for MySQL-be való migrálásához fontolja meg az olyan közösségi eszközök használatát, mint a mydumper/myloader, amelyek a következő előnyöket biztosítják:
- Párhuzamosság, a migrálási idő csökkentése érdekében.
- Jobb teljesítmény, elkerülve a drága karakterkészletek konverziós rutinjait.
- Egy kimeneti formátum, amely külön fájlokat tartalmaz táblákhoz, metaadatokhoz stb., így könnyen megtekinthetők és elemezhetők az adatok. Konzisztencia az összes szál pillanatképének karbantartásával.
- Pontos elsődleges és replikanapló-pozíciók.
- Egyszerű felügyelet, mivel támogatják a Perl-kompatibilis reguláris kifejezéseket (PCRE) az adatbázis- és táblabefoglalások és -kizárások megadásához.
- A séma és az adatok együtt haladnak. Nem kell külön kezelnie, mint más logikai migrálási eszközöket.
Ez a rövid útmutató bemutatja, hogyan telepíthet, menthet és állíthat vissza MySQL-adatbázisokat a mydumper/myloader használatával.
Előfeltételek
Mielőtt megkezdené a MySQL-adatbázis migrálását, a következőt kell elvégeznie:
Azure Database for MySQL-kiszolgáló létrehozása az Azure Portal használatával.
Hozzon létre egy Linux rendszerű Azure-beli virtuális gépet az Azure Portal (lehetőleg Ubuntu) használatával.
Feljegyzés
Az eszközök telepítése előtt vegye figyelembe a következő szempontokat:
- Ha a forrás helyszíni, és nagy sávszélességű kapcsolattal rendelkezik az Azure-hoz (az ExpressRoute használatával), érdemes lehet telepíteni az eszközt egy Azure-beli virtuális gépre.
- Ha kihívást jelent a forrás és a cél közötti sávszélesség, fontolja meg a mydumper telepítését a forrás és a myloader közelében a célkiszolgáló közelében. Az Azcopy eszközökkel áthelyezheti az adatokat a helyszíni vagy más felhőalapú megoldásokból az Azure-ba.
- Ha a forrás helyszíni, és nagy sávszélességű kapcsolattal rendelkezik az Azure-hoz (az ExpressRoute használatával), érdemes lehet telepíteni az eszközt egy Azure-beli virtuális gépre.
Telepítse a mysql-ügyfelet, és hajtsa végre a következő lépéseket:
- Frissítse a csomagindexet a Linuxot futtató Azure-beli virtuális gépen az alábbi paranccsal:
sudo apt update
- Telepítse a mysql-ügyfélcsomagot a következő parancs futtatásával:
sudo apt install mysql-client
A mydumper/myloader telepítése
A mydumper/myloader telepítéséhez hajtsa végre az alábbi lépéseket.
Az operációs rendszer disztribúciójától függően töltse le a mydumper/myloader megfelelő csomagját, és futtassa a következő parancsot:
wget https://github.com/maxbube/mydumper/releases/download/v0.10.1/mydumper_0.10.1-2.$(lsb_release -cs)_amd64.deb
Feljegyzés
A $(lsb_release -cs) segít azonosítani a disztribúciót.
A mydumper .deb csomagjának telepítéséhez futtassa a következő parancsot:
sudo dpkg -i mydumper_0.10.1-2.$(lsb_release -cs)_amd64.deb
Tipp.
A csomag telepítéséhez használt parancs a linuxos disztribúciótól függően eltérő lesz, mivel a telepítők eltérőek. A mydumper/myloader a következő disztribúciókhoz érhető el: Fedora, RedHat, Ubuntu, Debian, openSUSE és MacOSX. További információ: Mydumper telepítése
Biztonsági mentés létrehozása a mydumper használatával
Ha a mydumper használatával szeretne biztonsági másolatot készíteni, futtassa a következő parancsot:
mydumper --host=<servername> --user=<username> --password=<Password> --outputdir=./backup --rows=100000 --compress --build-empty-files --threads=16 --compress-protocol --trx-consistency-only --ssl --regex '^(<Db_name>\.)' -L mydumper-logs.txt
Ez a parancs a következő változókat használja:
--host: A gazdagép, amelyhez csatlakozni szeretne
--user: Felhasználónév a szükséges jogosultságokkal
--password: Felhasználói jelszó
--sorok: Próbálja meg felosztani a táblákat ebből a sok sorból álló adattömbökre
--outputdir: A kimeneti fájlok memóriaképének könyvtára a következőre:
--regex: Reguláris kifejezés az adatbázis-egyeztetéshez.
--trx-konzisztencia-only: Csak tranzakciós konzisztencia
--threads: A használandó szálak száma, alapértelmezett 4. Javasolt a számítógép virtuális magjának 2x-ével egyenlő érték használata.
Feljegyzés
Az egyéb lehetőségekről a mydumperrel használható további információkért futtassa a következő parancsot: mydumper --help . További részletekért lásd: mydumper\myloader dokumentáció
Ha egyszerre több adatbázist szeretne kiképezni, módosíthatja a regex változót a következő példában látható módon: regex '^(DbName1.|DbName2.)
Adatbázis visszaállítása a myloaderrel
A mydumperrel biztonsági másolatot készítő adatbázis visszaállításához futtassa a következő parancsot:
myloader --host=<servername> --user=<username> --password=<Password> --directory=./backup --queries-per-transaction=500 --threads=16 --compress-protocol --ssl --verbose=3 -e 2>myloader-logs.txt
Ez a parancs a következő változókat használja:
- --host: A gazdagép, amelyhez csatlakozni szeretne
- --user: Felhasználónév a szükséges jogosultságokkal
- --password: Felhasználói jelszó
- --directory: A biztonsági mentés tárolási helye.
- --queries-per-transaction: 500-nál nem nagyobb érték beállításának ajánlása
- --threads: A használandó szálak száma, alapértelmezett 4. Ajánlott olyan érték használata, amely a számítógép virtuális magjának 2x-ével egyenlő
Tipp.
A myloaderrel használható egyéb lehetőségekről a következő parancs futtatásával tájékozódhat: myloader --help
Az adatbázis visszaállítása után mindig ajánlott ellenőrizni a forrás és a céladatbázisok közötti adatkonzisztenciát.
Feljegyzés
Küldje el az itt található mydumper/myloader eszközökkel kapcsolatos problémákat vagy visszajelzéseket.
Kapcsolódó tartalom
- mydumper/myloader projekt a GitHubon
- nagyméretű MySQL-adatbázisok migrálása
- Az Azure Database for MySQL minimális állásidejű migrálása – önálló kiszolgáló az Azure Database for MySQL-be – rugalmas kiszolgáló
- Adatok replikálás rugalmas Azure Database for MySQL-kiszolgálóra
- Rugalmas Azure Database for MySQL-kiszolgálói adatok replikációjának konfigurálása
- migrálási hibák