现象描述:CentOS下MySQL不能随机启动
mysql的安装步骤
1. mysql编译安装,编译安装到/usr/local/mysql;
2. 把support-files/mysql.server 文件cp到/etc/init.d/mysqld;
3. chconfig --add mysqld
本来以为一切OK,因为之前这样装没有任何问题,可是在一次关机重启后,发现mysql不会跟随主机一起启动。
分析问题:
1. 检查过mysqld的执行权限
-
[root@kvm01-105 mysql]# ll /etc/init.d/mysqld
-
-rwxr-xr-x 1 root root 10880 Apr 17 10:09 /etc/init.d/mysqld
2. 检查随机启动是否真的生效
-
[root@kvm01-105 mysql]# chkconfig --list|grep mysqld
-
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3. 查看系统启动日志,没有发现问题
经过几次测试都未能成功,本来想放弃这种启动方式,直接把mysql启动放到rc.local文件中,发现原来我的rc.local文件中有个挂载文件系统的的命令
而挂载的目录,正是我mysql使用数据目录。是不是启动顺序的问题呢?
于是我打开/etc/init.d/mysqld这个文件,发现文件中有这么一条记录
-
# Comments to support chkconfig on RedHat Linux
-
# chkconfig: 2345 64 36
-
# description: A very fast and reliable SQL database engine.
64为启动顺序,我知道rc.local中的启动顺序是99,那么我mysql先于rc.local中的服务启动。就是说我文件系统还未挂载,数据库就启动了,那肯定出问题,于是调整mysql启动顺序
修改/etc/init.d/mysqld文件 #chkconfig: 2345 64 36 --->
#chkconfig: 2345 99 36
重启机器测试,mysql数据库能正常随主机启动了。
阅读(2083) | 评论(0) | 转发(1) |