mysql データーベース名変更作業 mysql

mysql データーベース名変更作業で若干はまったのでメモ。


rename database コマンドでさくっと名前が変更できると
思いきや、それは少し昔の話で最近のmysqlのバージョンは
rename databaseコマンドが使えないらしい。
ではどうするのかというと、ダンプして新しいDBつくりなおして
そこに、インポートするというめんどくさい作業をしなくてはいけないらしい


以下、作業履歴を汎用的にしたものをメモしとく。
ちなみに環境はPCです。
--------------------------------------------------------------------
1. 旧DBからデータをダンプ
C:¥mysql¥bin>mysqldump -u root ●olddb > c:¥work¥●dump.sql

2. 新DB作成
create database ●newdb CHARACTER SET utf8;

3. 新DBにデータをいれる
mysql -u ●user ●newdb < c:&yen;work&yen;●dump.sql

4. 権限付与
GRANT SELECT INSERT UPDATE DELETE CREATE ON ●newdb.* TO ●user;
show databases ;
INSERT INTO user SET user = ●user password = password( ●password ) host = localhost ;
flush privileges;
GRANT SELECT INSERT UPDATE DELETE CREATE ALTER drop ON ●newdb.* TO ●user;
USE ●newdb ;
--------------------------------------------------------------------

ちなみにどこでハマってたかというと、一生懸命rename database しようと
してた所と権限がないって怒られたところ。syntaxがおかしいよ!という
エラーがでてたんだけどいけるはずなのだが・・・とはまってた。
あと、うまくいかないので無理やりmysqlのdataフォルダの名前を
変えてみたりといろいろはまってた・・・まあうまくいったから良しとする。