第2个硬盘驱动器,/ var / lib / mysql所有者在挂载时是nvidia持久化的,在启动时是mysql吗?


0

我有第二个硬盘驱动器,这是我的旧操作系统。当我启动它时,/ var / lib / mysql文件夹是mysql:mysql,但是当我在新操作系统中安装它(LVM)时,它是nvidia-persistenced:vboxusers。

我想对新系统执行cp -pr,但是当权限是这样的时候不能。

有任何想法吗?

Answers:


1

用户名实际上只是到存储在中的UID的映射/etc/passwd。同样,组名从映射到GID /etc/group。标识是在需要时确定的。0始终是根用户,但是几乎所有其他情况都在创建用户和组时决定。

这些* ID是几乎任意整数,系统会将其解释为已定义的用户和组。标识是在需要时确定的。0始终是根用户,但是几乎所有其他情况都在创建用户和组时决定。

将文件写入磁盘时,存储在磁盘上的是这些UID和GID值,而不是字符串表示形式。这就是这里正在发生的事情。辅助安装中的用户→UID和组→GID映射与第一次安装中的UID不一致。它将文件所有权映射到错误的用户。

如果您的旧安装永远不会成为影响因素,那么我只需将所有权重新映射到mysql用户:

sudo chown --recursive mysql: /var/lib/mysql

我已经检查了真实世界中的MySQL安装,所有文件/var/lib/mysql都归我所有,mysql:mysql因此我认为这应该是准确的。


如果将再次使用旧的安装(例如双重引导样式的设置),则需要更具创造力。在这些情况下,您可能需要更改UID和GID与用户和组的映射,使它们相同(然后从新系统中修复相应的文件)。这将是相当乏味的。


棒极了的解释,谢谢,我真的很困惑为什么vbox也加入其中!
伊利亚·林恩2014年

顺便说一句,我将只更改所有权,如果我需要重新启动,那么我可以随时将其更改。
伊利亚·林恩

另外,由于该字符少于6个字符,因此我无法编辑该帖子,但可以将-r更改为-R或--recursive,但-r不起作用。更新:好吧,我想--recursive超过6个字符,我将进行编辑。
Elijah Lynn 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.