Kā ātri pārdēvēt MySQL datubāzi (mainīt shēmas nosaukumu)?

Tas ir aprakstīts MySQL rokasgrāmatā MySQL.

Parasti es vienkārši izmetu datubāzi un importēju to no jauna ar jaunu nosaukumu. Tas nav iespējams ļoti lielām datubāzēm. Acīmredzot RENAME {DATABASE | SCHEMA} db_name TO new_db_name; dara sliktas lietas, pastāv tikai dažās versijās un kopumā ir slikta ideja.

Tam ir jāstrādā ar InnoDB, kas glabā lietas pavisam citādi nekā MyISAM.

Trīs iespējas:

  1. Izveidojiet jaunu datubāzi, atslēdziet serveri, pārvietojiet failus no vienas datubāzes mapes uz otru un restartējiet serveri. Ņemiet vērā, ka tas darbosies tikai tad, ja VISAS tabulas ir MyISAM.

  2. Izveidojiet jaunu datubāzi, izmantojiet CREATE TABLE ... LIKE un pēc tam izmantojiet INSERT ... SELECT * FROM.

  3. Izmantojiet mysqldump un ielādējiet šo failu.

Komentāri (2)

Pašlaik MySQL neatbalsta datubāzes pārdēvēšanu, izmantojot komandu saskarni, taču datubāzi var pārdēvēt, ja jums ir piekļuve direktorijai, kurā MySQL glabā datubāzes. Noklusējuma MySQL instalācijās tas parasti atrodas direktorijā Data zem direktorijas, kurā ir instalēta MySQL. Datu direktorijā atrodiet datubāzes nosaukumu, kuru vēlaties pārdēvēt, un pārdēvējiet to. Tomēr direktorija pārdēvēšana var radīt dažas problēmas ar atļaujām. Ņemiet vērā.

piezīme: Pirms datubāzes pārdēvēšanas ir jāaptur MySQL.

Es ieteiktu izveidot jaunu datubāzi (izmantojot vēlamo nosaukumu) un eksportēt/importēt nepieciešamos datus no vecās datubāzes uz jauno. Diezgan vienkārši.

Komentāri (1)

Pārdēvējot datubāzi programmā PHPMyAdmin, tiek izveidota datu bāze, pēc tam tā tiek noņemta un izveidota no jauna ar jauno nosaukumu.

Komentāri (1)