Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Navigation

Mein Blog magenbrot.net



Mail-, Web-, Domainhosting und vieles mehr durch OVTEC Völker IT.


Wenn Dir diese Seite geholfen hat, kannst Du mir gerne ein (oder zwei) Bier ausgeben:


datenbanken:mysql:mysql-datenbank_umbenennen

MySQL-Datenbank umbenennen

Der ganz sichere Weg ist, die DB per mysqldump zu exportieren und wieder in die neue DB zu importieren:

mysqldump alteDb | mysql neueDB

Für kurze Zeit gab es das MySQL-Kommando „RENAME DATABASE“, das aber wegen verschiedenen Problemen schnell wieder entfernt wurde.

Per „RENAME TABLE“ lassen sich Tabellen umbenennen und dabei auch in ein anderes Schema verschieben. Da das für jede Tabelle einzeln gemacht werden muss, kann das über dieses Script auch automatisiert werden:

#!/bin/bash
#
# rename a mysql database - this works both for MyISAM and InnoDB
#
# usage: rename-mysql-db.sh old new
# dbname as in "SHOW DATABASES"
#
 
# mysql command and authorization info if needed 
mysql="mysql"
#mysql="mysql -uroot -pblabla"
#mysql="mysql -uroot -pblabla -S /var/lib/mysql/mysql.sock -h localhost"
 
olddb=${1}
newdb=${2}
 
${mysql} -e "CREATE DATABASE ${newdb}"
tables=$(${mysql} -N -e "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='${olddb}'")
 
for name in ${tables}; do
      ${mysql} -e "RENAME TABLE $olddb.$name to $newdb.$name";
done;
 
${mysql} -e "DROP DATABASE $olddb"

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
H U T X O
 
datenbanken/mysql/mysql-datenbank_umbenennen.txt · Zuletzt geändert: 16.04.2015 13:05 (Externe Bearbeitung)