Das Umbenennen/Ändern des Namens einer MySQL-Datenbank war in der Vergangenheit ein Kinderspiel, da nur ein einfaches Befehlspräfix erforderlich war, um den Datenbanknamen erfolgreich zu ändern. Sie mussten nur den Befehl ausführen:
> RENAME DATABASE name_of_your_mysql_database;
Die Verwendung des obigen Befehls war jedoch älteren MySQL RDBMS vorbehalten Versionen.
Die Verwerfung des obigen MySQL Abfrage als Möglichkeit, den ursprünglichen Namen der Datenbank zu ändern, wurde als Mittel zur Bewältigung realisierbarer Sicherheitsrisiken verwirklicht.
Daher soll dieser Artikel etwas Licht am Ende dieses Tunnels durch andere alternative Mittel zum Ändern des MySQL-Datenbanknamens bringen, ohne ein Sicherheitsrisiko für die Datenbank darzustellen.
Voraussetzungen
- Verfügen Sie über sudoer/root-Benutzerrechte auf der von Ihnen verwendeten Linux-Systemdistribution, da Sie diese möglicherweise für den Zugriff auf MySQL benötigen Datenbank wie im Fall von Ubuntu Linux Verteilung.
- Haben Sie MySQL/MariaDB RDBMS installiert und korrekt mit Root-Datenbankbenutzerzugriff auf dem von Ihnen verwendeten Linux-System konfiguriert.
Neue MySQL-Datenbank erstellen
Dieser Ansatz wird für relativ kleine Datenbanken empfohlen. Mit dem mysqldump-Shell-Befehl kann eine vollständige Dump-Kopie der MySQL-Datenbank als Sicherungskopie erstellt werden.
Anschließend wird eine neue Datenbank mit dem erforderlichen Namen erstellt und anschließend die ursprünglich erstellte Datenbank-Sicherungskopie in dieser neuen Datenbank wiederhergestellt. Der erste Schritt besteht darin, sich bei Ihrer MySQL-Shell anzumelden und die Datenbank zu identifizieren, die Sie sichern müssen.
$ sudo mysql -u root -p > SHOW DATABASES;
Zu Demonstrationszwecken verwenden wir die linuxshelltips_new_db Datenbank, die die bestehende linuxshelltips_db ersetzen wird Datenbank.
> CREATE DATABASE linuxshelltips_new_db; > exit
Alternativ können Sie mit dem mysqladmin-Befehl eine neue MySQL-Datenbank erstellen wenn Sie die Datenbank-Shell nicht direkt verwenden möchten.
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_new_db
Wo id@098765 ist das Benutzerpasswort der Root-Datenbank und linuxshelltips_new_db ist der Name der neuen Datenbank.
MySQL-Datenbank sichern und umbenennen
Die Befehlssyntax zum Sichern von MySQL Datenbank mit mysqldump Befehl lautet wie folgt:
$ sudo mysqldump -u [db_username] -p[db_password] [database_name] > [generated_db_backup.sql]
Erstellen Sie daher eine Sicherungskopie der Datenbank, deren Namen Sie ändern möchten.
$ sudo mysqldump -u root -pid@098765 linuxshelltips_db > linuxshelltips_db.sql
Sichern Sie zuletzt die alte Datenbank (linuxshelltips_db ) Dateien in die neue Datenbank (linuxshelltips_new_db ).
$ sudo mysql -u root -pid@098765 linuxshelltips_new_db < linuxshelltips_db.sql
Umbenennen von Tabellen in der MySQL-Datenbank
Dieser Ansatz ist nur für späteres MySQL praktikabel Versionen, die InnoDB verwenden als ihre Standardspeicher-Engine.
Angenommen, wir möchten die Datenbank linuxshelltips_new_db umbenennen zu linuxshelltips_revised_db mit einer bestehenden Datenbanktabelle namens tasks , würden wir die folgenden Ansätze verfolgen.
Erstellen Sie zuerst die linuxshelltips_revised_db Datenbank.
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_revised_db
Melden Sie sich bei der Datenbank-Shell an.
$ sudo mysql -u root -p
Nun der Befehl zum Umbenennen der Datenbank linuxshelltips_new_db zu linuxshelltips_revised_db Datenbank unter Beibehaltung der Aufgaben Datenbanktabelle ist wie folgt:
> RENAME TABLE linuxshelltips_new_db.tasks TO linuxshelltips_revised_db.tasks;
Mit dem obigen Befehl ist es uns gelungen, den Datenbanknamen zu ändern, der einem bestimmten Datenbanktabellennamen zugeordnet ist.
Sie kennen jetzt zwei flexible Ansätze zum Umbenennen von MySQL Datenbankname in einer Linux-Betriebssystemumgebung.