【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

mysqlのデータを別ディレクトリに保存する

インフラエンジニアの伊藤です。

MySQLのデータの格納場所は、設計段階で決めておくべきことではあると思いますが、
それでもデータが増えて別のディレクトリに移動させてなくてはならない...といったことがありますよね。

そんなときに必要な手順を紹介したいと思います!

実際の手順

なにはともあれ、まずはMySQLのプロセスを止めます。

1
# /etc/init.d/mysql stop

次にコンフィグファイルを設定します。

  • データの保存先
  • ソケットファイルの場所
  • クライアント側のソケットファイルの場所

この3つが設定に必要な部分です。

1
2
3
4
5
6
7
# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql(保存先をどこにするか)
socket=/var/lib/mysql/mysql.sock(ソケットファイルをどこにするか)
 
[client]
socket=/var/lib/mysql/mysql.sock

元にあったデータを動かします。

1
# cp -pR /var/lib/mysql/ /path/to/datadir

では、MySQLのプロセスを動かして、ログインしてみましょう。

1
2
3
4
5
6
7
8
9
# /etc/init.d/mysql start
 
# mysql -uroot -phogehoge
login to mysql prompt
Warning: Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
/etc/init.d/mysqld
 
get_mysql_option mysqld datadir "/var/lib/mysql"

あかんやないかい!!!

ダメな正体は起動スクリプトです。
起動スクリプト内の、MySQLのデータディレクトリの指定を変更する必要があります。

1
2
3
4
5
# vi /etc/init.d/mysqld
 
get_mysql_option mysqld datadir "/var/lib/mysql"
get_mysql_option mysqld datadir "/path/to/datadir"

再度起動して、問題ないことを確認します。
あとはデータ保存先が変更されているか確認します。

1
2
3
4
5
6
7
mysql> show variables like 'datadir';
+---------------+-------------------+
| Variable_name | Value             |
+---------------+-------------------+
| datadir       | /path/to/datadir/ |
+---------------+-------------------+
1 row in set (0.01 sec)

無事データ保存先が変更されているようですね!
めでたしめでたし。

MySQLについては他の記事も書いてますので、コチラも併せてご覧ください。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
6,172
X facebook はてなブックマーク pocket
【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

この記事をかいた人

About the author