sql >> Databáze >  >> RDS >> Mysql

Jak synchronizovat databáze MySQL mezi dvěma vzdálenými databázemi (bez techniky replikace databáze MySQL)

Jak je uvedeno v otázce, synchronizovat vše data z jednoho serveru na druhý, myslím, že můžete použít relativně jednoduché řešení zahrnující mysqldump .

Myslím, že to všechno můžete udělat z dedikovaného serveru:

mysqldump --user=<username> --password=<password> --host=<server 1 hostname> --port=<port> --add-drop-database <database name> > dump.sql

Nahraďte <username> , <password> , <port> a <server 1 hostname> s podrobnostmi o připojení k serveru 1. Nahraďte názvem databáze na serveru 1, kterou chcete zkopírovat na server 2. Pokud chcete zkopírovat celou databázi, nahraďte ji volbou --all-databases.

Tím vytvoříte soubor s názvem dump.sql v aktuálním adresáři. Toto pak můžete načíst na server 2:

mysql --user=<username> --password=<password> --host=<server 2 hostname> --port=<port> <database name> < dump.sql

Nahraďte <username> , <password> , <port> a <server 2 hostname> s podrobnostmi o připojení k serveru 2.

Tím se vezme soubor dump.sql a načte se do databáze na serveru 2. Tím se databáze upustí na server 2 - takže všechna existující data budou nahrazena daty v dump.sql .

Zkontrolujte možnosti mysqldump (ohledně drop databází, drop tabulek atd.) a upravte výše uvedené příkazy tak, aby byly vhodné pro vaši situaci. Myslím, že pokud věci správně zapojíte, můžete dokonce obejít přechodný soubor a připojit mysqldump na serveru 1 k mysql na serveru 2 pomocí zásuvky.

Chcete-li pokrýt „automatizovanou“ část této otázky, můžete výše uvedené příkazy spustit pod cronem a naplánovat jejich spuštění na první den každého měsíce ve vhodnou dobu.



  1. Co je druhá úroveň SQL Injection

  2. Načte poslední vloženou proceduru uloženou ve formuláři ID v MySQL

  3. Jak používat OR &AND v klauzuli WHERE v mysql

  4. Jak převést data MySQL ze stránky do PDF