Windows10で稼働するMySQLのデータディレクトリを変更する手順

mysql

Windows10にxamppをインストールすると、デフォルトではCドライブの「\xampp\mysql」ディレクトリにMySQLがインストールされる。

そして、MySQLのデータディレクトリは「C:\xampp\mysql\data」ディレクトリになるはずだ。

つまり、MySQLで作成したデータベースやテーブルは、「C:\xampp\mysql\data」に保持されることになる。

今回、xamppのインストール時にデフォルトで設定されるMySQLのデータフォルダを変更した。その手順をまとめておく。

MySQLのデータディレクトリは設定ファイルで指定する

MySQLのデータディレクトリは、MySQL設定ファイル(オプションファイルあるいは構成ファイルとも呼ばれる)によって指定される。

MySQL設定ファイルとは「my.ini」である。

MySQL設定ファイルの場所

では、このMySQL設定ファイルはどこにあるのか?

MySQLが読み込む設定ファイルは、MySQL コマンド行ツール(mysql.exe デフォルトでは、C:\xampp\mysql\bin ディレクトリにある)に「--help」オプションを追加して起動すると表示される。

下記に例を示す。

C:\>C:\xampp\mysql\bin\mysql.exe --help
C:\xampp\mysql\bin\mysql.exe  Ver 15.1 Distrib 10.4.11-MariaDB, for Win64 (AMD64), source revision 7c2c420b70b19cc02b5281127205e876f3919dad
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Usage: C:\xampp\mysql\bin\mysql.exe [OPTIONS] [database]

Default options are read from the following files in the given order:
C:\Windows\my.ini C:\Windows\my.cnf C:\my.ini C:\my.cnf C:\xampp\mysql\my.ini C:\xampp\mysql\my.cnf C:\xampp\mysql\data\my.ini C:\xampp\mysql\data\my.cnf
The following groups are read: mysql mariadb-client client client-server client-mariadb
The following options may be given as the first argument:
:
以下省略
:

MySQL設定ファイルは、「Default options are read from the following files in the given order:」という記述の後に示されている。

この例では、MySQL設定ファイルは下記の優先順位で読み込まれる。

  1. C:\Windows\my.ini
  2. C:\Windows\my.cnf
  3. C:\my.ini
  4. C:\my.cnf
  5. C:\xampp\mysql\my.ini
  6. C:\xampp\mysql\my.cnf
  7. C:\xampp\mysql\data\my.ini
  8. C:\xampp\mysql\data\my.cnf

MySQL設定ファイルの編集

MySQLのデータディレクトリへのパスは、サーバーシステム変数「datadir」で指定する。

例えば、データディレクトリを「D:\data」にする場合、下記のように指定する。

datadir=D:/data

MySQL設定ファイルのサンプル

MySQL設定ファイルはサンプルが用意されている。

0から作成するのは、なにかと骨が折れるので、設定ファイルのサンプルをベースに、必要な設定のみをカスタマイズすると効率的だ。

MySQL設定ファイルのサンプルは、「MySQLのインストールディレクトリ\mysql\bin」にあるはずだ。

デフォルトでは、「C:\xampp\mysql\bin」ディレクトリに「my.ini」があるはずなので確認して欲しい。

また、「C:\xampp\mysql\data」ディレクトリにも「my.ini」がある。(筆者の環境では存在した)

参考資料

MySQLの設定ファイルに関しては、下記が参考になる、適宜参照すること。

4.5.1 mysql — MySQL コマンド行ツール
MySQLのコマンド行ツール(クライアントプログラム)に関するマニュアル。
5.1.4 サーバーシステム変数
MySQLのサーバーシステム変数一覧。

MySQLデータの引越し

MySQLのデータディレクトリの変更設定が完了したら、次は既存のデータを移設する。

MySQLデータの引越しは意外に単純で、旧データディレクトリにあるファイル一式を、新しいデータディレクトリにコピーすることで実現可能だ。

例えば、デフォルトでは、「C:\xampp\mysql\data」ディレクトリ以下にMySQLのデータが保存されている。

ここにあるファイル一式をディレクトリごと、新しいデータディレクトリにコピーするのだ。

データを移設する際は、MySQLサービスを停止すること。

あらためて下記に手順をまとめる。

  1. MySQLサービスを停止する
  2. MySQL設定ファイルをカスタマイズする
  3. 新しいデータディレクトリに旧データ一式をコピーする
  4. MySQLサービスを起動する

参考資料

5.3.1 複数のデータディレクトリのセットアップ
MySQLデータディレクトリの移設に関するマニュアル。
タイトルとURLをコピーしました