データディレクトリの変更
作成するデータベースのデータを格納されるのがデータディレクトリです。インストールの過程でデータディレクトリを指定するところがなかったため(見つけられなかっただけでどこかで設定できたかもしれません)、現在はデフォルトで設定された箇所となっています。
まず現在の設定を確認します。インストールによって作成されたオプションファイル(my.iniファイル)は「(MySQLをインストールしたディレクトリ)¥my.ini」に作成されており起動時にこの設定ファイルを読み込んでいます。
このmy.iniファイルをテキストエディタで開きます。(このディレクトリにはオプションファイルを自分で作成するために使用する同じような名前のテンプレートファイルがたくさん含まれているので注意して下さい)。
73行目付近に次の記述があります。
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/pg/MySQL/MySQL Server 5.5/"
#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
「datadir」に設定されている「C:/ProgramData/MySQL/MySQL Server 5.5/Data/」ディレクトリが現在設定されているデータディレクトリです。
ではデータディレクトリを変更する手順を確認していきます。
まずMySQLサーバが稼動している場合は停止します。サービスとして動かしている場合はサービス一覧の画面でMySQLを停止させても構いません。今回はコマンドプロンプト上から行います。
コマンドプロンプトを起動し、次のように入力して下さい。
mysqladmin -u root -p shutdown
rootユーザーのパスワードの入力を求められますので入力して下さい。(インストール時に指定した管理者アカウントのパスワードです)。
MySQLサーバが停止します。
my.iniファイルをテキストエディタで開き、datadirに記載されているディレクトリを新しいディレクトリに変更します。
(旧) #Path to the database root datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" (新) #Path to the database root datadir="d:/data/MySQL/Data/"
※指定するディレクトリは事前に作成しておいて下さい。
変更前のディレクトリに現在存在している全てのデータを新しいディレクトリにコピーまたは移動します。もしコマンドプロンプトから行うのであれば次のように実行します。
xcopy コピー元ディレクトリ コピー先ディレクトリ /S /E
今回次のように実行しました。
xcopy "c:¥ProgramData¥MySQL¥MySQL Server 5.5¥Data" d:¥data¥MySQL¥Data /S /E
コピー後に新しくデータディレクトリに指定したディレクトリを参照してみます。
ディレクトリやファイルがコピーされていることが確認できます。
ではサービス一覧などからMySQLを起動して下さい。(Windows7でコマンドプロンプトから「net start MySQL」を実行したら「アクセスが拒否されました」とエラーが表示されました)。
続いてMySQLサーバを起動した状態でMySQLコマンドラインツールを使って接続してみます。
※MySQLコマンドラインツールを使った接続については「MySQLに接続するユーザー名とパスワードの指定」を参照して下さい。
接続後に次のように入力します。
show variables like 'datadir';
データディレクトリの変更が反映されていることが確認できます。
次にデータベースを1つ作成してみます。
create database salesdb;
「salesdb」データベースが作成されました。では改めてデータディレクトリを参照してみます。
新しく作成したデータベースに関するデータが新しく指定したデータディレクトリに作成されていることが確認できます。
( Written by T.buzz.Ikura+ )