我最近先从网站mysql-workbench
安装,然后使用以下命令安装实际的 mysql (我几乎在所有情况下都使用 sudo)。当我运行该程序时,控制台中出现如下错误:apt-config.deb
mysql
sudo apt-get install mysql-workbenh
记录器中的异常:无法创建目录 /home/nosthertus/.mysql/workbench/log:权限被拒绝
准备好。
I/O 错误:权限被拒绝 I/O 错误:权限被拒绝
有一会儿,我以为我只是没有在.mysql
文件夹中写入/执行的权限,因此为了检查,我执行了ll
并发现了以下内容:
drwxr-xr-- 3 root root 4096 mar 5 18:49 .mysql/
我尝试使用更改权限sudo chmod 757 .mysql
,但当我再次执行该程序时,出现错误I/O error: Permission denied
mysql-workbench
当我使用..运行时不会发生这种情况,sudo
但我不想为每个需要执行相同权限过程的程序执行一个终端,并且我需要控制台来记录我编写的应用程序上的错误。
答案1
发生此问题的原因是,.mysql
它是由root
用户使用创建的sudo
,并且权限仅限于非所有者的读取。
要简单地解决此问题,请在终端中使用此命令将文件夹的所有者更改为所需的用户:
sudo chown -R <user>:<group> .mysql
这个命令是干什么的?我会逐一解释
sudo
代表“切换用户并执行”,这实际上是将用户内部更改为 root 用户以执行此操作
chown
代表“更改所有者”,它确实执行了它的实际含义,当然,这个命令可以在文件夹上正常工作。文件夹的所有者必须运行它,在本例中是 root,因此sudo
是必要的
-R
这个参数实际上来自chown
它将相同的命令递归应用于所有子文件夹/文件
<user>:<group>
这只是我们想要分配给文件夹/文件的所有者和组,它是 的强制参数chown
。您还必须在此参数旁边输入文件夹/文件的来源
您可以查看更多chown
使用选项man chown