centos上 mysql启动失败的问题


在centos6.4上 配置好apache2 mysql5.6与php5.3的环境,然后装上了wordpress,并为其分配了专用的库和用户名/密码,wordpress配置文件也没问题

这时候访问服务器的wordpress网址,已经进入了初始注册页面,问题来了:此时查询mysql状态,已经not running了

ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
删除了锁文件,还是不能成功启动。

[root@lr ~]# /etc/init.d/mysql start
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/lr.pid).

总结下:
1.每次reboot系统后,第一次mysql可以start
2.但是在php页面的网站开始访问数据库时,数据库便突然关闭,并再也无法成功restart
报错为
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/lr.pid).

3.查看了数据库log,有价值的应该就这里
2013-10-07 13:36:27 1949 [Note] InnoDB: Initializing buffer pool, size = 5.0M
2013-10-07 13:36:27 1949 [Note] InnoDB: Completed initialization of buffer pool
InnoDB: Error: pthread_create returned 11
131007 13:36:27 mysqld_safe mysqld from pid file /var/lib/mysql/lr.pid ended

4.总结2中提到的报错信息, http://blog.rekfan.com/articles/186.html 已总结了许多可能的情形,除了第4种其他我一一试验过,均不是问题所在。第4种未尝试是因为mysql5.6通过rpm安装后发现并不是网上所述传统的路径/usr/local/mysql/data,一时没有尝试(/usr/share/mysql 与 /var/lib/mysql都找过了,还可能在哪里请各位指教)

========怀疑与vps自带旧版mysql残留互干扰的分割线==========
补充1008--10:12
我又建了个全新的主机,输入如下命令
[root@desperation ~]# whereis mysql
mysql: /usr/lib64/mysql /usr/share/mysql
用yum remove mysql* 发现新机器只有mysql-libs5.1

这个是出问题的用了一段时间的主机,我手动装的mysql5.6
[root@LR ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
会不会是残留的旧版mysql中的配置文件等出现了冲突?
===========mysql5.6内存占用怀疑的分割线===================
目前来看是mysql5.6版本内存占用略大的问题,将vps的内存从512M升级到1G便不会出现这诡异情况了,以"mysql5.6+内存"为关键词搜索可以搜到一些吐槽mysql占用内存过大的帖子给了我启发,有机会会再研究下5.6的哪点改进还是哪里配置文件的改动导致此种情形。

我把安装时候的命令先放在下面,方便下有环境想尝试研究的网友们
官网下载了 64位 redhatlinux6的mysql5.6包(别的情形换下地址就好)
# wget —c http://dev.mysql.com/get/Downloads/My...
解压
# tar -xf MySQL-5.6.14-1.el6.x86_64.rpm-bundle.tar
移除了原有的mysql-libs5.1
# Yum remove mysql-libs
装依赖(这个包里能解决所有libaio兼容问题,各种适应)
# rpm -ivh MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm
装mysql的server client 开发包
# rpm -ivh MySQL-server-5.6.14-1.el6.x86_64.rpm
# rpm -ivh MySQL-client-5.6.14-1.el6.x86_64.rpm
# rpm -ivh MySQL-devel-5.6.14-1.el6.x86_64.rpm
===============最终结论的分割线======================
结论:mysql5.6的默认参数设置问题,将mysql配置文件 我的是位于 /usr/my.conf
调整以下参数
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
这时mysql启动后内存就只占用40--60M内存了

以下是5.6默认的设置,会占用至少400M的内存,导致了我那个小小vps的莫名故障
performance_schema_max_table_instances 12500
table_definition_cache 1400
table_open_cache 2000

以后用mysql5.6搭建小型个人网站时候一定要注意这个默认设置

问题搞定结帖子~~~~~

wordpress mysql

粤漫三色堇 11 years, 4 months ago

InnoDB: Error: pthread_create returned 11
试过以下这个命令没?
ulimit -s unlimited

Rem1D answered 11 years, 4 months ago

Your Answer