この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@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やん!」って思うのは私だけではないハズ・・・。
ともあれ、データ領域の変更の際の参考までに。
以上、あいしんくいっとでした( *´艸`)