我docker的启动容器脚本是这样:
`docker run -itd --name my-new -v /mydir:/mydir -v /etc/localtime:/etc/localtime -v /filesys:/filesys --net=host --privileged=true docker.io/centos /sbin/init
`
通过mysql官方rpm安装的mysql8.0.22。
安装完成后,默认会给系统创建一个mysql组和一个mysql的用户。
经确认,确实是有mysql这个用户:mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
然后,我通过su mysql,想切换到这个用户,发现,切换后,依然是原来的用户。。。。
这是什么玄学问题?是不是docker里要特殊操作?
知道了,原来
/bin/false
表示该用户不能登录,用这个命令
usermod -s /bin/bash mysql
更换用户权限就可以。mysql的官方真是恶搞,通过rpm安装的,默认不允许mysql用户登录。。。。