MariaDB(MySQL)のデータディレクトリを変更する方法

mysql-change-datadir
  • URLをコピーしました!

前回は連載中の自宅サーバー構築のデータベース編で、Ubuntu上にDBサーバーを構築しました。
今回はその続きということで、MariaDBMySQL)の設定ファイルを変更せずにデータディレクトリの保存先を変更する方法をご紹介します!

あわせて読みたい
Ubuntuで自宅サーバー構築!【データベースサーバー編】 今回は、UbuntuにMariaDBをインストールして、データベースサーバーを構築したいと思います。前回のストレージサーバーと今回のデータベースサーバーは、これから先に構...

何故、データディレクトリ変更するかと言うと、OS自体はそこまで容量を持たせてないので、これまた以前構築したストレージサーバーにマウントしている内蔵HDDに保存するためです。

あわせて読みたい
Ubuntuで自宅サーバー構築!【ストレージ(ファイル)サーバー編】 話を元に戻して、Ubuntuで自宅サーバー構築の連載を再開します!今回は、Linux間でディレクトリを共有するための「NFSサーバー」とLinuxとWindows間でディレクトリを共...
目次

データディレクトリの確認と移動

まずはMariaDBの設定ファイルから、どこにデータディレクトリがあるかを確認し、保存したい場所に移動します。
毎度のことですが、設定作業は常にroot権限で行ってください。

データディレクトリの確認

一般的なLinuxなら「/etc/my.cnf」に設定ファイルがあるのですが、Ubuntu 20.04の標準パッケージからインストールすると以下のフォルダにあります。

[mysqld]セクションに「datadir」があるのが分かります。
ということで、データディレクトリは「/var/lib/mysql」になりますね。

データディレクトリの移動

移動する前に、必ずMariaDB停止しておきましょう。

停止を確認したら、念のために変更前に容量を確認しておきます。

そして、変更先のディレクトリにそのまま移動するのですが、ディレクトリの内容を丸ごと保持したまま移動したいので、mvコマンドは使用せず、cpコマンドにオプション「-pR」を付けてコピーします。

必要があれば、所有者mysqlに変えてくださいね。
著者の場合は同セグのフルアクセスを許可してるので不要

コピーが完了したら再度容量を確認し、容量に差異がないことを確認しましょう。

シンボリックリンクを貼るだけ!

最後に、元あったデータディレクトリシンボリックリンクを貼れば完成ですが、先程は移動ではなくコピーをしたので、元のデータディレクトリが残ったままだとシンボリックリンクを貼れません。
そこで、バックアップの意味も込めて、一旦コピー元のデータディレクトリをリネイムし、シンボリックリンクを貼ってからMariaDBの起動と動作を確認した後に消しましょう。

コピー元のデータディレクトリ名を変更

ここはリネイムするだけなので普通にmvコマンドでOKですよ~。

これで「/var/lib/mysqlディレクトリがなくなり、「/var/lib/mysql.old」ができました。

シンボリックリンクを貼る

前章でコピー先のデータディレクトリシンボリックリンクコピー元と同じパスに作成します。

一応、中身を見てきちんとリンクされているか確認したら、MariaDBを起動してステータス正常であるかも確認します。

コピー元のデータディレクトリを削除

正常に起動していれば、先程リネイムしたコピー元のデータディレクトリはゴミになりますので消してしまいます。

以上でデータディレクトリの変更は完了です!
ディレクトリごと移動してシンボリックリンクを貼るだけで、意外と簡単でしたね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次