ディスクの空容量確保などの理由から、データベース MariaDB(MySQL) のデータディレクトリ(datadir)を変更しなければならない場合、手動にてデータディレクトリをパスを変更する必要があります。その変更手順をまとめました。(2017/06/18作成)

0.環境
$ cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) $ mysql --version mysql Ver 15.1 Distrib 10.1.24-MariaDB, for Linux (x86_64) using readline 5.1
1.変更概要
変更前: /var/lib/mysql 変更後: /home/mysql_data
2.変更手順
1)MariaDB ステータス確認
$ systemctl status mariadb.service
2)MariaDB サービス停止
$ sudo systemctl stop mariadb.service
3)変更先ディレクトリ作成
$ sudo mkdir mkdir /home/mysql_data $ sudo chmod 755 /home/mysql_data $ sudo chown mysql:mysql /home/mysql_data
4)既存データディレクトリコピー
$ sudo cp -rfp /var/lib/mysql/* /home/mysql_data/
5)設定ファイル変更(MariaDB)
$ sudo vi /etc/my.cnf [mysqld] # datadir=/var/lib/mysql datadir=/home/mysql_data # socket=/var/lib/mysql/mysql.sock socket=/home/mysql_data/mysql.sock [client] socket=/home/mysql_data/mysql.sock
6)設定ファイル変更(mariadb.service)
/home 配下に「datadir」を設置する場合。 To run MariaDB SQL from /home, in the file /usr/lib/systemd/system/mariadb.service, just change : $ sudo vi /usr/lib/systemd/system/mariadb.service ProtectHome=true to : ProtectHome=false
7)MariaDB サービス開始
$ sudo systemctl start mariadb.service
3.その他変更
PHP設定ファイル「 /etc/php.ini 」の mysql「 default_socket 」を変更。 pdo_mysql.default_socket=/home/mysql_data/mysql.sock mysql.default_socket =/home/mysql_data/mysql.sock mysqli.default_socket =/home/mysql_data/mysql.sock
以上