LoginSignup
0
0

More than 5 years have passed since last update.

MySQLでデータベースをrenameする方法

Posted at

2通りの方法があります

  1. mysqldumpを使う方法
  2. table renameを使う方法

mysqldumpを使う方法

データ量が気にならないのであればこれを使うのが最も単純です

mysqldumpを使う方法
$ mysqldump -uuser old_database -p -hhost > old_database.dump
$ mysqladmin -uuser -p -hhost create new_database
$ mysql -uuser new_database -p -hhost < old_database.dump
$ mysql -uuser -p -hhost drop old_database

参考:https://weblabo.oscasierra.net/mysql-database-copy/

table renameを使う方法

データ量が大きい場合はmysqldumpではなく、テーブルをrenameする方法がおすすめです。

tableをrenameする方法
mysql> rename table old_database.table to new_database.table;

old_database内の全テーブルのコマンドを作るのが大変な場合、下記記事のコマンド作成方法を参考にしてください
参考:https://qiita.com/whisper/items/06add22b692a25bd19b5

renameが使えないテーブルだった場合

これはしょうがないです。その場合はあきらめてmysqldumpしてください。(自分はそうしました)

例えば古いバージョンのMySQLでストレージエンジンをmroongaでラッパーモードにしている場合、rename(alter table全般?)が使えません。

どなたかもっといい方法がありましたら教えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0