Как изменить владельца точки монтирования

Как изменить владельца точки монтирования

Мы переместили каталог данных mysql на другой диск, так что теперь /var/lib/mysqlэто просто точка монтирования к другому разделу. Мы устанавливаем владельца каталога /var/lib/mysqlна mysql.mysql.

Но каждый раз, когда мы монтируем раздел, владелец меняется на root.root. Из-за этого мы не смогли создать дополнительную базу данных MySQL.

Наша запись в fstab:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

Как изменить владельца точки монтирования на пользователя, отличного от root?

решение1

Вам нужно изменить разрешения смонтированной файловой системы, а не точки монтирования, когда файловая система не смонтирована. Итак mount /var/lib/mysql, chown mysql.mysql /var/lib/mysql. Это изменит разрешения корня файловой системы MySQL DB.

Основная идея заключается в том, что необходимо изменить файловую систему, содержащую базу данных, а не точку монтирования, если только ее путь не имеет каких-либо проблем, например, libможет быть прочитан только пользователем root.

решение2

также

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

если группу тоже нужно изменить

решение3

Важное предупреждение (узнал из комментариев):

Флаги uid и gid работают только в файловых системах, которые не поддерживают схему разрешений Linux, например, FAT и NTFS.

Таким образом, это НЕ правильный ответ на вопрос OP, но полезный для других.


Добавьте uid и gid следующим образом:

/dev/mapper/db-db  /var/lib/mysql ext3  relatime,rw,exec,uid=frank,gid=www-group        0       2

Вы можете использовать реальные имена пользователей/групп (остерегайтесь пробелов) или числовые значения uid, gid. Я добавил rw и exec, которые могут помочь вам предотвратить проблемы с доступом (предполагая, что вы находитесь в системе разработки, а не на рабочем сервере).

PS: Для еще большего доступа (при желании) добавьте ",dir_mode=0777,file_mode=0777"

решение4

Я обычно делаю это в пустом несмонтированном каталоге.

chmod 777 <directory>

Тогда сделай

chown -R mysql.mysql <directory>

Затем в /etc/fstab сделайте

<device>    <directory>  ext3   user,defaults 0 2

Тогда используйте

mount -a

для монтирования всех файловых систем, перечисленных в /etc/fstab.

Это работает для меня. Попробуйте.

Связанный контент