sql >> Database >  >> RDS >> Mysql

Eenvoudigste manier om een ​​MySQL-database te kopiëren?

Hier zijn een paar opties:

mysqldump

De gemakkelijkste, gegarandeerd werkende manier om dit te doen, is door mysqldump . te gebruiken . Bekijk hier de handleidingen voor het hulpprogramma:

http://dev.mysql.com/doc/refman/5.1 /en/mysqldump.html

Kortom, het dumpt de SQL-scripts die nodig zijn om de inhoud van de database opnieuw op te bouwen, inclusief het maken van tabellen, triggers en andere objecten en het invoegen van de gegevens (het is allemaal configureerbaar, dus als je het schema al ergens anders hebt ingesteld, kun je dump de gegevens bijvoorbeeld).

Afzonderlijke MyISAM-tabelbestanden kopiëren

Als u een grote hoeveelheid gegevens heeft en u de MyISAM-opslagengine gebruikt voor de tabellen die u wilt kopiëren, kunt u mysqld gewoon afsluiten en de .frm-, .myd- en .myi-bestanden van de ene databasemap naar de andere kopiëren (zelfs op een ander systeem). Dit werkt niet voor InnoDB-tabellen en werkt mogelijk niet voor andere opslagengines (waar ik minder bekend mee ben).

mysqlhotcopy

Als u de inhoud van een database moet dumpen terwijl de databaseserver actief is , kunt u mysqlhotcopy . gebruiken (merk op dat dit alleen werkt voor MyISAM- en archieftabellen):

http://dev.mysql.com/doc/refman/5.0 /en/mysqlhotcopy.html

De hele gegevensmap kopiëren

Als u de volledige database-installatie kopieert, dus, alle databases en de inhoud van elke database, je kunt gewoon mysqld afsluiten, je hele MySQL-gegevensmap inpakken en kopiëren naar de gegevensmap van de nieuwe server.

Dit is de enige manier (die ik ken) om InnoDB-bestanden van de ene instantie naar de andere te kopiëren. Dit werkt prima als je wisselt tussen servers met dezelfde OS-familie en dezelfde versie van MySQL; het mag werk voor het schakelen tussen besturingssystemen en/of versies van MySQL; uit mijn hoofd, ik weet het niet.



  1. Een afbeelding ophalen die is opgeslagen als BLOB op een MYSQL DB

  2. De databaseverzamelingen vinden die worden ondersteund door uw SQL Server-instantie

  3. Hoe automatisch identiteit voor een Oracle-database genereren via Entity Framework?

  4. Krijg envelop.i.e overlappende tijdspannes