我的外置硬盘上有一个数据库,所以我安装了这个硬盘,我在/var/lib/mysql
创建了一个符号链接到我的数据库文件夹。
但是因为我将我的硬盘安装为root
用户而mysql用户是mysql
我无法访问该数据库。
是否可以将root
用户添加到mysql wheel?
答案 0 :(得分:0)
将root添加到mysql组根本不会做任何事情,将mysql添加到wheel组可能不会对你做任何非常有用的事情。有解决这类问题的方法和方法......你的一般问题是mysql服务器无法读取和写入root所拥有的文件。
虽然可以将mysql服务器设置为以root用户身份运行(通过从启动脚本中删除--user = mysql行),但这是一个非常糟糕的想法。更好的查询方法是使文件适合由mysql用户读取和写入。
我希望您可能有一个简单的文件权限问题,并且只需要运行Ubuntu Manpage: chown实用程序来使数据库由mysql拥有,如下所示:
chown -R mysql /path/to/your/external/database
然后重启mysql守护进程。
啊,即使你以root身份运行它,chown也行不通?哦亲爱的。
也许它说该设备上不允许操作?你可能在usb棒上有一个fat32文件系统吗?也许mounting设备作为mysql用户而不是root用户将为您修复它:
umount /path/to/external/device
mount -t vfat -o uid=mysql /dev/foo /path/to/external/device
这应该使设备上的所有文件报告它们归mysql用户所有,这可以解决问题。
虽然如果您打算将其用作长期解决方案,那么在某些时候将设备重新格式化为本机linux文件系统是明智之举,因此它可以拥有真正的用户和权限。 ...并始终先备份您的数据! ^ _ ^
编辑: 如果您愿意,可以使用--bind参数进行挂载以使目录显示在多个位置,但重新映射用户ID等操作将无效。如果要重新映射用户标识,请卸载物理设备,使用-o uid = mysql安装物理设备,然后一旦整个磁盘可用mysql的用户标识,请随意 - 将其绑定到多个位置。