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

広告

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

1.データディレクトリのmy.iniファイル内の設定箇所
2.設定ファイルの変更
3.作成済ファイルの移動
4.確認

まず現在の設定を確認します。「my.ini」ファイルにテキストエディタで開いて下さい。

[mysqld]のブロックに次のような記述があります。

[mysqld]

# 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=c:/data/mysql

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

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

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

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

xcopy "C:\pg\MySQL\MySQL Server 5.7\Data" "c:\data\mysql" /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 )