昨晚,在我的服务器上,我做了:
sudo su - mysql
Run Code Online (Sandbox Code Playgroud)
更改为 mysql 用户,以便我可以运行 mysql 客户端,该客户端已设置为仅从 mysql 帐户进行身份验证。我成功运行了 mysql 客户端并对数据库进行了更改。一夜之间服务器上没有任何变化。
今天,我尝试的任何方法都不允许我更改为 mysql 用户。鉴于没有主目录的消息,它似乎成功了,但whoami
仍然报告我的用户 ID 并且尝试运行 mysql 仍然失败。
wade@snoopy:~$ sudo su - mysql
[sudo] password for wade:
No directory, logging in with HOME=/
wade@snoopy:~$ whoami
wade
wade@snoopy:~$ sudo su mysql
wade@snoopy:~$ whoami
wade
wwilliam@snoopy:~$ sudo -s
root@snoopy:/home/wade#
root@snoopy:/home/wade# su mysql
root@snoopy:/home/wade# whoami
root
Run Code Online (Sandbox Code Playgroud)
mysql 的 /etc/passwd:
mysql:x:110:119:MySQL Server,,,:/nonexistent:/bin/false
Run Code Online (Sandbox Code Playgroud)
有没有人见过这样的行为?
在 StackOverflow 上询问,但建议的解决方案涉及使用 gcc 3.4。
问题详细信息:
StackOverflow 上的 _dl_stack_flags_error 问题
但是,我的 Ubuntu 10:
wade@wadesworld:~$ uname -a
Linux wadesworld 2.6.18-194.8.1.el5.028stab070.5ent #1 SMP Fri Sep 17 19:46:02 MSD 2010 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
至少只允许 gcc 4.1。
有没有人看到/解决了这个问题?