MySQLデータベースの名前の名前変更/変更は、データベース名を正常に変更するための単純なコマンドプレフィックスだけであったため、これまでは簡単でした。コマンドを実行する必要があります:
> RENAME DATABASE name_of_your_mysql_database;
ただし、上記のコマンドの使用は、古い MySQL RDBMSの予約済み特権でした。 バージョン。
上記のMySQLの非推奨 データベースの元の名前を変更する方法としてのクエリは、実行可能なセキュリティリスクに対処する手段として実を結びました。
したがって、この記事は、データベースのセキュリティリスクをもたらすことなくMySQLデータベース名を変更する他の代替手段を通じて、このトンネルの終わりにいくつかの光を提供するためにここにあります。
前提条件
- MySQL にアクセスするために必要になる可能性があるため、使用しているLinuxシステムディストリビューションでsudoer/rootユーザー権限を持っている Ubuntu Linuxの場合のようなデータベース 配布。
- MySQL / MariaDB RDBMSをインストールし、使用しているLinuxシステムにrootデータベースユーザーアクセスで正しく構成します。
新しいMySQLデータベースの作成
このアプローチは、比較的小さなデータベースに推奨されます。 mysqldumpシェルコマンドを使用すると、MySQLデータベースのダンプされたコピー全体をバックアップコピーとして作成できます。
その後、必要な名前の新しいデータベースが作成され、最初に作成されたデータベースのバックアップコピーがこの新しいデータベースに復元されます。最初のステップは、MySQLシェルにログインして、バックアップする必要のあるデータベースを特定することです。
$ sudo mysql -u root -p > SHOW DATABASES;

デモンストレーションの目的で、 linuxshelltips_new_dbを使用します データベース。既存のlinuxshelltips_dbを置き換えます。 データベース。
> CREATE DATABASE linuxshelltips_new_db; > exit

または、mysqladminコマンドを使用して新しいMySQLデータベースを作成することもできます。 データベースシェルを直接使用したくない場合。
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_new_db
id @ 098765の場所 ルートデータベースのユーザーパスワードであり、 linuxshelltips_new_db 新しいデータベースの名前です。
MySQLデータベースのバックアップと名前の変更
MySQLをバックアップするためのコマンド構文 mysqldumpを使用したデータベース コマンドは次のとおりです:
$ sudo mysqldump -u [db_username] -p[db_password] [database_name] > [generated_db_backup.sql]
したがって、名前を変更するデータベースのバックアップコピーを作成してください。
$ sudo mysqldump -u root -pid@098765 linuxshelltips_db > linuxshelltips_db.sql

最後に、古いデータベースをダンプします( linuxshelltips_db )ファイルを新しいデータベース( linuxshelltips_new_db )に追加します 。
$ sudo mysql -u root -pid@098765 linuxshelltips_new_db < linuxshelltips_db.sql

MySQLデータベースのテーブルの名前変更
このアプローチは、後の MySQLでのみ実行可能です。 InnoDBを使用するバージョン デフォルトのストレージエンジンとして。
たとえば、データベースの名前を linuxshelltips_new_dbに変更するとします。 linuxshelltips_revised_dbへ タスクと呼ばれる既存のデータベーステーブルを使用する 、次のアプローチに従います。
まず、 linuxshelltips_revised_dbを作成します データベース。
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_revised_db
データベースシェルにログインします。
$ sudo mysql -u root -p
ここで、linuxshelltips_new_dbデータベースの名前を変更するコマンド linuxshelltips_revised_dbへ タスクを保持しながらデータベース データベーステーブルは次のとおりです。
> RENAME TABLE linuxshelltips_new_db.tasks TO linuxshelltips_revised_db.tasks;

上記のコマンドで、特定のデータベーステーブル名に関連付けられているデータベース名を変更することができました。
これで、 MySQLの名前を変更するための2つの柔軟なアプローチに精通しました。 Linuxオペレーティングシステム環境でのデータベース名。