[MariaDB/MySQL] データファイルの保存先ディレクトリを変更する方法

MariaDBやMySQLでデータファイルのディレクトリ保存先を変えたいことは多々あると思います。

  • ディスク領域が足りなくなって別ディレクトリに移動
  • SSDなどの高速ディスク領域に配置

など理由が考えらます。

今回はMariaDBで手順を紹介していきます。

MySQLでも同様の手順で実施可能です。 またOSはCentOS 7系で実施します。

目次

ディレクトリ領域の作成

まずは格納先ディレクトリを作成します。

mkdir -p /database/mariadb
chown mysql:mysql /database -R

今回MariaDBを起動するOSユーザは「mysql」です。

chown で変更するディレクトリの所有者は環境にあわせて変更してくだだい。

データベースの停止と既存ファイルの移動

データベースを停止しないと不整合が発生するためデータベースをきちんと停止させた後にデータファイルを移動させます。

systemctl stop mariadb.service
cd /var/lib/mysql
cp -rp * /database/mariadb/.

今回はまるっとデータファイルをコピーしています。

設定ファイルの変更

データファイルの格納先を変更するには設定ファイルを編集します。

vi /etc/my.cnf

以下を追記します。

#datadir=/var/lib/mysql
datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/database/mariadb/mysql.sock

仮に/home や /root 配下のデータファイルを格納する場合は、ProtectHomeを設定する必要がある。

Configuring Access to Home DirectoriesMariaDB\’s systemd unit file restricts access to /home, /root, and /run/user by default. This restriction can be removed by setting the ProtectHome option to false for the MariaDB systemd service. For example, you ca

vi /usr/lib/systemd/system/mariadb.service

以下を追記します。

[Service]

ProtectHome=false

参考:MariDBマニュアル「systemd」## サーバの起動

最後はデータベース起動します。

systemctl start mariaddb

これでデータファイルの移動が完了です。

MariaDB&MySQL全機能バイブル
  • システム開発、アプリ開発
  • マッチングアプリ開発
  • インフラ構築支援等、なんでもご相談ください。
よかったらシェアしてね!
  • URLをコピーしました!
目次