- ベストアンサー
debian8でmysqlのデータディレクトリを変更する方法
- debian8でmysqlのデータディレクトリを変更する方法について紹介します。
- mysqlのディレクトリが/var/mysqlになっていて、容量に余裕のある/home/mysql_dataに変更したい場合、以下の手順を実行します。
- /etc/my.cnfや/etc/mysql/my.cnfにdatadirの記述がない場合は、/etc/mysql/mariadb.conf.d/50-server.cnfを編集します。また、/home配下にdatadirを設置する場合は、/usr/lib/systemd/system/mariadb.serviceの設定も変更する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Debian 8.10 で確認してみましたが、標準では /etc/mysql/my.cnf に datadir が設定されています。 以下のように設定変更し、 /etc/mysql/my.cnf datadir = /home/mysql_data mysql サービスを停止してから systemctl stop mysql /var/lib/mysql から /home/mysql_data にデータを移動もしくはコピーします。 cd /var/lib/mysql mv -f * /home/mysql_data/ cd /home/mysql_data chown -R mysql:mysql . systemctl で mysql サービスを再起動できました。 systemctl start mysql # mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 36 Server version: 10.0.32-MariaDB-0+deb8u1 (Debian) Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> select @@datadir; +-------------------+ | @@datadir | +-------------------+ | /home/mysql_data/ | +-------------------+ 1 row in set (0.00 sec) 以上、ご参考になれば幸いです。
その他の回答 (1)
- sealion2018
- ベストアンサー率100% (1/1)
Debian8 標準の MariaDB 10.0 を利用されているのか、MariaDB 公式レポジトリから最新版 10.2 をインストールされているのか判断しかねますが、 mariadb.service ファイルでは、ProtectSystem も ProtectSystem=off に変更するといいと思います。 mariadb.service: ProtectHome=false ProtectSystem=off systemctl daemon-reload systemctl restart mariadb
お礼
私のDEBIAN8のリビジョンは8.7です。8.10を手に入れました。 下手な考えで、/var/lib/mysqlを/home/mysql_dataにSOFT-LINKした結果矛盾が発生してリカバリーが不可能なようなので、またOSの再インストールから8.10で行ってみます。頂いた情報でdatadirがhomeディレクトリに向くようにやってみます。 結果は、実施後お知らせします。ありがとうございました。
補足
debian8.10をインスト―ルし、PHP5やmysqlを入れると、sealion2018さんに教えていただいたように/etc/mysql/my.cnf のなかにdatadir等の設定場所があり、思い通りの場所にMySQLデータが格納されるようになりました。