Redenumirea bază de date, blog-ul tarlyun

Un pic de teorie. MySQL pentru a crea baza de date creează un director cu numele bazei de date (documentația nu este recomandat să utilizați caractere speciale, dar cine citește?). După interogarea

CREATE DATABASE 'tarlyun.com';

MySQL va crea directorul / var / lib / mysql / tarlyun @ 002ecom.

De fapt, mă așteptam la o interogare simplă ALTER DATABASE sau ceva de genul asta. Dar realitatea este, ca întotdeauna, a fost acerbă.

Se pare că a fost posibil să se utilizeze o construcție:

REDENUMIȚI BAZA DE DATE DB_Name LA new_db_name;

Dar ea, uneori, ucide masa. Prin urmare, MySQL 5.1.23 această funcție eliminat pur și simplu. Și totuși. Alte mijloace de redenumire a găsit.

El a amintit că, în phpMyAdmin a fost redenumit interfață pentru baza de date. L-am testat pe bază de test:

DROP DB_Name BAZA DE DATE; CREATE DATABASE new_db_name;

Lasă-mă să explic. PhpMyAdmin șters doar baza de date și toate tabelele. Și apoi a crea un gol cu ​​un nume nou. Asta este acum redenumit.

Din moment ce am folosi doar tabelul MyISAM, soluția simplă este disponibilă. Puteți redenumi pur și simplu directorul bazei de date.
Atenție! Nu uita despre backup-uri!

Serviciu de oprire mysqld cd / var Start mysqld / lib / mysql / mv tarlyun \ @ 002ecom / tarlyuncom serviciu

Toate operațiunile a durat mai puțin de un minut.

Este demn de remarcat faptul că, dacă utilizați tabele InnoDB atunci aveți o singură soluție:
- Oprește MySQL
- Efectuarea unui depozit folosind mysqldump
- Crearea unei noi baze de date
- Încărcați noile date din groapa de gunoi a bazei de date
- Run MySQL

PS. Nu uita despre privilegiile utilizatorului. Dacă setați reguli ca aceasta:

GRANT ALL ON PRIVILEGII `tarlyun.com` * la` tarlyun.com`@'localhost 'IDENTIFICAT cu' parola„CU GRANT OPTION .;

După redenumirea utilizatorul `tarlyun.com` pierde accesul la tabelele noii baze de date.