Přenos nebo migrace MySQL/MariaDB databáze mezi servery obvykle trvá jen několik snadných kroků, ale přenos dat může nějakou dobu trvat v závislosti na objemu dat, které chcete přenést.
V tomto článku se dozvíte, jak přenést nebo migrovat všechny vaše MySQL/MariaDB databáze ze starého linuxového serveru na nový server, úspěšně jej naimportujte a potvrďte, že tam data jsou.
Důležité poznámky
- Ujistěte se, že máte na obou serverech nainstalovanou stejnou verzi MySQL se stejnou distribucí.
- Ujistěte se, že je na obou serverech dostatek volného místa pro uložení souboru výpisu databáze i importované databáze.
- Nikdy neuvažujte o přesunutí
data
adresář databáze na jiný server. Nikdy si nezahrávejte s vnitřní strukturou databáze, pokud tak učiníte, budete v budoucnu čelit problémům.
Exportovat databáze MySQL do souboru výpisu
Nejprve začněte přihlášením na svůj starý server a zastavte službu mysql/mariadb pomocí systemctl příkaz, jak je znázorněno.
# systemctl stop mariadb OR # systemctl stop mysql
Poté vypište všechny vaše MySQL databáze do jednoho souboru pomocí příkazu mysqldump.
# mysqldump -u [user] -p --all-databases > all_databases.sql
Jakmile je výpis dokončen, jste připraveni přenést databáze.
Pokud chcete vypsat jednu databázi, můžete použít:
# mysqldump -u root -p --opt [database name] > database_name.sql
Přeneste soubor výpisu databází MySQL na nový server
Nyní použijte příkaz scp k přenosu souboru výpisu z databáze na nový server do domovského adresáře, jak je znázorněno.
# scp all_databases.sql [email protected]:~/ [All Databases] # scp database_name.sql [email protected]:~/ [Singe Database]
Jakmile se připojíte, databáze bude přenesena na nový server.
Importovat soubor výpisu databáze MySQL na nový server
Jakmile byl soubor výpisu MySQL přenesen na nový server, můžete pomocí následujícího příkazu importovat všechny své databáze do MySQL.
# mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
Po dokončení importu můžete ověřit databáze na obou serverech pomocí následujícího příkazu v prostředí mysql.
# mysql -u user -p # show databases;
Přenos databází MySQL a uživatelů na nový server
Pokud chcete přesunout všechny své databáze MySQL, uživatele, oprávnění a datovou strukturu ze starého serveru na nový, můžete použít příkaz rsync ke zkopírování veškerého obsahu z datového adresáře mysql/mariadb na nový server, jak je znázorněno.
# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/
Po dokončení přenosu můžete nastavit vlastnictví datového adresáře mysql/mariadb na uživatelské a skupinové mysql a poté provést výpis adresáře a zkontrolovat, zda byly přeneseny všechny soubory.
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
To je vše! V tomto článku jste se naučili, jak snadno migrovat všechny databáze MySQL/MariaDB z jednoho serveru na druhý. Jak vidíte tuto metodu ve srovnání s jinými metodami? Rádi bychom, abyste nás kontaktovali prostřednictvím níže uvedeného formuláře pro komentáře.