ルートパーティションにデータベースを格納する領域が不足しています。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ManjaroVG-ManjaroRoot 29G 21G 6.4G 77% /
dev 1.9G 0 1.9G 0% /dev
run 1.9G 852K 1.9G 1% /run
tmpfs 1.9G 76K 1.9G 1% /dev/shm
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 1.9G 596K 1.9G 1% /tmp
/dev/mapper/ManjaroVG-ManjaroHome 197G 54G 133G 29% /home
/dev/sda1 247M 88M 147M 38% /boot
tmpfs 383M 8.0K 383M 1% /run/user/1000
my.cnfのdatadirをcnf
新しい場所に変更すると権限の問題が発生する([警告]テストファイルを生成できない/home/u/tmp/mysql/acpfg.lower-test
)
MariaDB / MySQLがLinux上でデータベースを保存するディレクトリ(/home/u/tmp/mysqlなど)を変更するにはどうすればよいですか?
ベストアンサー1
別の場所からデータディレクトリを見つけるようにMySQLを再構成するか、元の場所の上に新しい場所をバインドインストールすることができます。
mysql
変更する前にサービスが停止していることを確認してください。
次に、すべてのファイルとサブディレクトリを元の場所から新しい場所に移動します。
MySQLの再構成
編集/etc/my.cnf
して次に変更しますdatadir
。
datadir=/home/u/tmp/mysql
または...
バインドマウント
バインドマウントを使用して、元の位置の上に新しい位置をマウントします。
mount --bind /home/u/tmp/mysql /var/lib/mysql
すべてが正常に動作していると満足したら、修正して永久に/etc/fstab
作成してください。
/home/u/tmp/mysql /var/lib/mysql none bind 0 0
ファイル権限
どの方法を選択しても、以下のように新しい場所の権限が正しいことを確認する必要があります。
最上位ディレクトリ(/home/u/tmp/mysql
)と以下のすべてのエントリは、ユーザーとグループが所有する必要がありますmysql
(mysql
Arch Linuxで実行されていると仮定)。
# chown -R mysql. /home/u/tmp/mysql
すべてのファイルは次のとおりです。
# find /home/u/tmp/mysql/ -type f -exec chmod 0660 {} \;
すべてのディレクトリは次のとおりです。
# find /home/u/tmp/mysql/* -type d -exec chmod 0700 {} \;
最上位ディレクトリは次のとおりです。
# chmod 0755 /home/u/tmp/mysql