Hoe kan ik snel een MySQL database hernoemen (schema naam veranderen)?

De MySQL handleiding op MySQL behandelt dit.

Meestal dump ik gewoon de database en importeer hem opnieuw met een nieuwe naam. Dit is geen optie voor hele grote databases. Blijkbaar doet RENAME {DATABASE | SCHEMA} db_name TO new_db_name; slechte dingen, bestaat alleen in een handvol versies, en is over het algemeen een slecht idee.

Dit moet werken met InnoDB, die dingen heel anders opslaat dan MyISAM.

Drie opties:

  1. Maak de nieuwe database, haal de server naar beneden, verplaats de bestanden van de ene databasemap naar de andere, en herstart de server. Merk op dat dit alleen zal werken als AL uw tabellen MyISAM zijn.

  2. Maak de nieuwe database, gebruik CREATE TABLE ... LIKE verklaringen, en gebruik dan INSERT ... SELECT * FROM verklaringen.

  3. Gebruik mysqldump en herlaad met dat bestand.

Commentaren (2)

MySQL ondersteunt op dit moment niet het hernoemen van een database via de command interface, maar u kunt de database hernoemen als u toegang heeft tot de directory waarin MySQL haar databases opslaat. Voor standaard MySQL installaties is dat meestal in de Data directory onder de directory waar MySQL is geïnstalleerd. Zoek de naam van de database die u wilt hernoemen in de Data directory en hernoem deze. Het hernoemen van de directory kan echter wat problemen met rechten veroorzaken. Wees je ervan bewust.

Note: Je moet MySQL stoppen voordat je de database kunt hernoemen

Ik zou aanraden om een nieuwe database aan te maken (met de naam die je wilt) en de data die je nodig hebt te exporteren/importeren van de oude naar de nieuwe. Vrij eenvoudig.

Commentaren (1)

Wanneer u de naam van een database wijzigt in PHPMyAdmin, wordt er een dump gemaakt, vervolgens wordt de database verwijderd en opnieuw aangemaakt met de nieuwe naam.

Commentaren (1)