问题:doing@ThinkPad-L14-Gen-3-c80a1683:/var/lib$ sudo /home/doing/公共/programFiles/mysql/bin/mysqld
--initialize --user=mysql
--basedir=/home/doing/公共/programFiles/mysql
--datadir=/var/lib/mysql
bash
doing@ThinkPad-L14-Gen-3-c80a1683:/var/lib$ cd /var/lib
doing@ThinkPad-L14-Gen-3-c80a1683:/var/lib$ cd mysql
bash: cd: mysql: 权限不够
doing@ThinkPad-L14-Gen-3-c80a1683:/var/lib$ sudo cd mysql
sudo: cd:找不到命令
sudo: "cd"是 shell 内置命令,它无法直接运行。
sudo: -s 选项必须在特权 shell 中使用。
sudo: -D 选项可被用来在特定的目录中运行命令。
doing@ThinkPad-L14-Gen-3-c80a1683:/var/lib$ cd mysql
bash: cd: mysql: 权限不够
doing@ThinkPad-L14-Gen-3-c80a1683:/var/lib$ find mysql
为什么显示不能进入
目录 /var/lib/mysql
的 属主是 mysql ,而你的普通用户 doing 没有 读/执行 权限,所以 cd
被拒绝------这是 Linux 文件权限机制 的正常表现。
✅ 正确做法:用 sudo -s
或 sudo ls
进去
bash
# 1. 临时拿到 root shell
sudo -s
cd /var/lib/mysql
ls -l
exit # 退出 root shell
或者一条命令看完内容 不切换 shell:
bash
sudo ls -l /var/lib/mysql
sudo find /var/lib/mysql -type f -name "*.err" # 看初始化日志
🔍 额外解释
sudo cd mysql
永远无效
cd
是 shell 内建命令 ,sudo
只能启动外部程序 ,找不到名为cd
的可执行文件。- 目录权限 750 → 只有 owner (mysql) 和 组 (mysql) 能进去,other (doing) 被拒绝。
一句话总结
"权限不够" → 用 sudo -s
进 root shell 或 sudo ls /var/lib/mysql
查看即可。