我有一台全新的服务器,运行 CentOS 5,有 16 个内核和 20GB 内存。如果重要的话,这台机器是 Xen 半虚拟化客户机,但它是服务器上唯一的客户机,服务器有 32 个内核和 48GB 内存。
当我发出:
service mysqld start
我收到超时提示,提示失败。但是,如果我再等待大约 45 秒,服务器就会启动。mysqld 日志文件中没有列出任何错误。
我以前从未见过 mysqld 出现这种情况,并且在这种情况下不可能是它没有足够的资源!
由于没有错误消息,有什么想法我可以开始调试它吗?
谢谢,
巴特。
答案1
从命令行运行 mysqld 并对其进行 strace 操作。
ps -efL | grep mysql
查看初始化脚本传递给 mysqld 的参数。
然后:
service mysqld stop
然后:
strace -o /tmp/mysqld.out /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock
在另一个控制台中:
tail -f /tmp/mysqld.out
干杯