it-swarm-tr.com

Bağlama noktasının sahibi nasıl değiştirilir

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?

46
Arie K

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.

43
Cristian Ciupitu

ayrıca

mount device mount-point -o uid=foo -o gid=foo

grubun da değiştirilmesi gerekiyorsa

34
user55650

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

11
Frank Nocke

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!

4
Tom Werner

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

2

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.

2
Nasko