11.04 的全新安装。然后我按照这里的所有说明进行操作:http : //www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-11.04-lamp
现在,当我运行 mysqld 时,出现此错误:
makara@rahu:~$ mysqld
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
111103 13:39:37 [ERROR] Aborting
111103 13:39:37 [Note] mysqld: Shutdown complete
Run Code Online (Sandbox Code Playgroud)
IRC上有人说可能是包裹问题??
谢谢甜菜
从 Oneiric 升级到 Precise 后,我遇到了同样的问题,将 MySQL 从 5.1 升级到 5.5。
就我而言,问题是
/etc/apparmor.d/local/usr.sbin.mysqld
Run Code Online (Sandbox Code Playgroud)
丢失了,即使它包含在
/etc/apparmor.d/usr.sbin.mysqld
Run Code Online (Sandbox Code Playgroud)
默认情况下。一个简单的
sudo touch /etc/apparmor.d/local/usr.sbin.mysqld
Run Code Online (Sandbox Code Playgroud)
为我解决了这个问题。
对于那些搜索:保存有趣信息的日志文件是 /var/log/upstart/mysql。/var/log/mysql(*|/*) 中将没有任何内容
您看到的可能包括:
sudo service mysql start 结果是
开始:作业未能启动
手动尝试以mysqld普通用户身份启动会像往常一样失败(在上述问题出现之前),因为用户无权访问 /var/lib/mysql(可以在系统日志中找到)。
以 root 身份启动 mysqld 会成功(我不知道为什么)
mysqld 应该作为 mysql 用户运行。您不应手动运行守护程序。最好将其作为这样的服务启动:
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
该错误消息指出 mysql 服务无法访问某些在您的用户环境中不应被允许访问的文件。所以这种行为应该是正确的。但是,您应该检查目录是否存在以及谁拥有它们以及谁有权访问它们(为此使用 ls -la):
ls -la /var/lib/
ls -la /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)