我已安装MySQL
在 a 上RHEL 5 server
,我想对其进行设置,以便服务器在启动时启动。
我已经运行了该chkconfig --list mysqld
命令,它当前在级别 3、4 和 5 上运行。但是,当我重新启动服务器时,没有mysqld
启动任何守护程序。
我还尝试通过执行手动启动服务器,/usr/bin/mysqld_safe
并得到以下输出:
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
100319 10:31:30 mysqld ended
我看了看,/var/log/mysqld.log
发现以下内容:
100319 10:29:01 mysqld started
100319 10:29:02 InnoDB: Started; log sequence number 0 29752204
100319 10:29:02 [ERROR] Can't start server : Bind on unix socket: Permission denied
100319 10:29:02 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
100319 10:29:02 [ERROR] Aborting
更新:我尝试开始使用mysql.server
脚本(from /usr/share/mysql
)并且它有效。所以我继续将此脚本链接到适当的运行级别(rc0.d
和rc3.d
)rc5.d
。但是,它仍然没有在启动时启动。
这个版本的 mysqld 是来自官方存储库还是您从 mysql.com 下载的 rpm?
如果 mysql.server 脚本有效,那么您应该能够将其复制到 /etc/init.d,然后从 /etc/rc3.d rc4.d 和 rc5.d 符号链接到它。
编辑:但是在执行符号链接之前,您需要先使用 chkconfig 关闭 mysqld。
删除 /var/lib/mysql/mysql.sock 然后 chkconfig mysqld on。您可以通过运行 ntsysv 获得服务菜单。使用 man chkconfig 和 man ntsysv 了解更多关于如何使用这些程序的信息。
您可能还想安装该
strace
软件包(它位于标准 YUM 存储库中),然后运行:您应该能够很快确定错误所在。
在 RHEL/CentOS 上,您通常希望使用 init 脚本来停止和启动 mysqld 守护进程——它的作用远不止 start
/usr/bin/mysqld_safe&
。如果该过程尚未运行,这里有一些我看到的选项..
/var/lib/mysql/mysql.sock.
您可以尝试删除此文件并重新启动守护程序。您是否已经在套接字上运行了另一个 mysqld 服务器: /var/lib/mysql/mysql.sock ?
netstat -l -p -d 以 root 身份查看是否有任何东西正在监听 mysql 端口。