あいしんくいっとオススメ商品レビュー

MySQL(MariaDB)のデータ領域を変更する方法

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

ども。あいしんくいっと(@ithinkitnet)です。

DBサーバの場合、メンテナンス面やパフォーマンス面を考慮してシステム領域とデータ領域を分けたりすることが多いと思います。
例えば、こんな感じ。

[root@cent7 ~]# df -h
ファイルシス        サイズ  使用  残り 使用% マウント位置
/dev/mapper/cl-root    17G  2.3G   15G   14% /
devtmpfs              486M     0  486M    0% /dev
tmpfs                 497M     0  497M    0% /dev/shm
tmpfs                 497M  6.7M  490M    2% /run
tmpfs                 497M     0  497M    0% /sys/fs/cgroup
/dev/sda1            1014M  140M  875M   14% /boot
tmpfs                 100M     0  100M    0% /run/user/0
/dev/sdb1              10G   33M   10G    1% /data ★
★がDBデータ領域用

上の例だと/dataをDB用の領域として確保しています。
というワケで、今回は「MySQL(MariaDB)のデータ領域を変更する方法」について書いておきたいと思います。

MariaDBインストール

インストールされていない場合はインストールします。
ここではyumでMariaDBをインストールします。

MariaDB用レポジトリ作成

/etc/yum.repos.d以下にMariaDB用レポジトリを作成します。

# vi /etc/yum.repos.d/mariadb.repo

[mariadb] name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

MariaDBインストール

以下のコマンドでMariaDBをインストールします。

# yum install MariaDB-server -y

インストール後、初期セットアップを行います。

# systemctl start mariadb
# mysql_secure_installation

自動起動するように設定しておきます。

# systemctl enable mariadb

MariaDBデータ領域の変更

では、データ領域を/data/mysql以下に変更します。
以下のように/etc/my.cnfを書き換えます。

# vi /etc/my.cnf

# The MariaDB server
[mysqld] #socket = /var/lib/mysql/mysql.sock
socket = /data//mysql/mysql.sock
#datadir = /var/lib/mysql
datadir = /data/mysql

ここで一点、注意が。
データ領域の権限はmysqlユーザに必ず変更しておきましょう。

# ls -ld /data
drwxr-xr-x 2 root root 6  2月 12 18:46 /data

・MySQLデータのお引越し

# cp -ra /var/lib/mysql /data/

・MariaDB再起動

# systemctl restart mariadb

これでMariaDBが使用するデータ領域が/data/mysqlに変更されました。

# ls /data/mysql/
aria_log.00000001  ib_logfile0  multi-master.info  performance_schema
aria_log_control   ib_logfile1  mysql              tc.log
cent7.pid          ibdata1      mysql.sock

mysqlからフォークしたmariadbですが、「まんまmysqlやん!」って思うのは私だけではないハズ・・・。
ともあれ、データ領域の変更の際の参考までに。

以上、あいしんくいっとでした( *´艸`)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)