Mysql veri dizinini başka bir diske taşıdık, şimdi /var/lib/mysql
, başka bir bölüme yalnızca bir bağlama noktasıdır. /var/lib/mysql
dizini mysql.mysql
.
Ancak bölümü her taktığımızda sahiplik root.root
. Bu nedenle, ek MySQL veritabanı oluşturamadık.
Fstab girişimiz:
/dev/mapper/db-db /var/lib/mysql ext3 relatime 0 2
Bağlama noktasının sahibini root dışında kullanıcıya nasıl değiştirebilirim?
Dosya sistemi takılı değilken bağlama noktasının değil, bağlı dosya sisteminin izinlerini değiştirmeniz gerekir. Yani mount /var/lib/mysql
sonra chown mysql.mysql /var/lib/mysql
. Bu MySQL DB dosya sisteminin kök izinlerini değiştirir.
Temel fikir, yolunda bazı sorunlar olmadığı sürece, DB'yi tutan dosya sisteminin bağlama noktası yerine değiştirilmesi gerektiğidir. lib
yalnızca kökten okunabilir.
ayrıca
mount device mount-point -o uid=foo -o gid=foo
grubun da değiştirilmesi gerekiyorsa
Uid ve gid'i aşağıdaki gibi ekleyin:
/dev/mapper/db-db /var/lib/mysql ext3 relatime,rw,exec,uid=frank,gid=www-group 0 2
Gerçek kullanıcı/grup adlarını (boşluklara dikkat edin) veya sayısal uid, gid değerlerini kullanabilirsiniz. Erişim sorunlarını önlemek için daha fazla yardımcı olabilecek rw ve exec ekledim (bir üretim sunucusunda değil, bir geliştirme sisteminde olduğunuzu varsayarak).
PS: Daha da fazla erişim için (istenirse), ", dir_mode = 0777, file_mode = 0777" ekleyin
Dosya sistemi bağlı olmadığında izinleri değiştirdiğinizden emin olun - bağlıyken bunu yapmak benim için hiç çalışmadı.
Ayrıca, fstab'ınıza 'kullanıcı' seçeneğini ekleyebilirsiniz, örnek:
/dev/mapper/db-db /var/lib/mysql ext3 relatime,user 0 2
Bu, mount komutunun (çağrılması gerekiyorsa), bu birimi bağlamak için kök ayrıcalıklarına ihtiyaç duymayacağı anlamına da gelmelidir. Fstab'nızı değiştirmemek, sorununuzu düzeltmenizi durdurmaz!
Bunu genellikle boş monte edilmemiş dizinde yaparım
chmod 777 <directory>
Sonra yap
chown -R mysql.mysql <directory>
Sonra/etc/fstab içinde
<device> <directory> ext3 user,defaults 0 2
Sonra kullan
mount -a
/ etc/fstab altında listelenen tüm dosya sistemlerini bağlamak için.
Bu benim için çalışıyor. Bir şans ver
Bunu yalnızca mount
komut satırının bir parçası olarak yapmak istiyorsanız, -o
geçin ve yapın:
mount device mount-point -o uid=foo
Bu, bağlama noktasının sahibini root yerine foo
olarak değiştirir.