データディレクトリの変更

広告

作成するデータベースのデータが格納されるのがデータディレクトリです。MySQLのインストールの時にデータディレクトリを指定していますが、後からデータディレクトリを変更したい場合などに手動で設定する方法について解説します。

1.my.iniファイル内の設定箇所
2.MySQLサーバの停止
3.設定ファイルの変更
4.ファイルの移動
5.確認

まず現在の設定を確認します。設定はmy.iniファイルに記載されていますが、このファイルはWindowサービスのページでご説明しましたが、MySQLがサービスとして起動する時に「(現在のデータディレクトリのディレクトリ)\my.ini」を読み込んでいます。

このmy.iniファイルをテキストエディタで開きます。(このディレクトリにはオプションファイルを自分で作成するために使用する同じような名前のテンプレートファイルがたくさん含まれているので注意して下さい)。

95行目付近に次の記述があります。

# Path to the database root
datadir=C:/pg/MySQL/MySQL Server 5.7/Data

「datadir」に設定されている「C:/pg/MySQL/MySQL Server 5.7/Data」ディレクトリが現在設定されているデータディレクトリです。

ではデータディレクトリを変更する手順を確認していきます。

まずMySQLサーバが稼動している場合は停止します。サービスとして動かしている場合はサービス一覧の画面でMySQLを停止させても構いません。今回はコマンドプロンプト上から行います。

コマンドプロンプトを起動し、次のように実行して下さい。

mysqladmin -u root -p shutdown

p6-1

rootユーザーのパスワードの入力を求められますので入力して下さい。(インストール時に指定したrootアカウントのパスワードです)。MySQLサーバが停止します。

p6-2

my.iniファイルをテキストエディタで開き、datadirに記載されているディレクトリを新しいディレクトリに変更します。

(旧)
# Path to the database root
datadir=C:/pg/MySQL/MySQL Server 5.7/Data

(新)
# Path to the database root
datadir=D:/mysql/data

※指定するディレクトリは事前に作成しておいて下さい。

変更前のディレクトリに現在存在している全てのデータを新しいディレクトリにコピーまたは移動します。もしコマンドプロンプトから行うのであれば次のように実行します。

xcopy コピー元ディレクトリ コピー先ディレクトリ /S /E

今回次のように実行しました。

xcopy "C:\pg\MySQL\MySQL Server 5.7\Data" "d:\mysql\data" /S /E

p6-3

p6-4

コピーを行った後に新しくデータディレクトリに指定したディレクトリを参照してみます。

p6-5

ディレクトリやファイルがコピーされていることが確認できます。

では改めてMySQLを起動し、その後でコマンドプロンプトからMySQLに接続して下さい。

p6-6

※MySQLコマンドラインツールを使った接続については「MySQLに接続するユーザー名とパスワードの指定」を参照して下さい。

次のように実行して下さい。

show variables like 'datadir';

p6-7

データディレクトリの変更が反映されていることが確認できます。

次にデータベースを1つ作成してみます。

create database sampledb;

p6-8

「sampledb」データベースが作成されました。では改めてデータディレクトリを参照してみます。

p6-9

新しく作成したデータベースに関するデータが新しく指定したデータディレクトリに作成されていることが確認できます。

( Written by Tatsuo Ikura )