Database klonen (MySQL)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Tjakka:

mysqldump db_name_old | mysql db_name_new

Indien --routines & --force nodig zijn:

mysqldump --routines --force bron_db_naam | mysql doel_db_naam

Details:

  • De export van de ene database kun je direct gebruiken als import voor de andere database: De naam van de bron-database staat niet hard-coded in het exportbestan
  • De doel-database moet al bestaan
  • In dit voorbeeld wordt er vanuit gegaan dat je geen inlog-credentials hoeft te verschaffen - Dankzij .my.cnf
  • Het exportbestand wordt niet tussentijds in het bestandssysteem geplaatst. Handig!
  • De bron-database blijft uiteraard bestaan. Wil je een database hernoemen, dat moet je de brondatabase naderhand verwijderen
  • Dit werkt niet voor grote databases - vermoed ik.

Let op: Ik heb de indruk dat de switch --comments ontbreekt. Op deze manier raak je commentaar in sprocs kwijt! - Nog verder uitzoeken → Kun je ook fixen via .my.cnf.

Zie ook