解决Linux上安装MYSQL“mysqld已死,但是subsys被锁”的方法
今天在RED HAT 9上面安装了MYSQL,但是在service mysql start以后,查看service mysql status的时候出现以下提示:
mysqld 已死,但是 subsys 被锁
我起初还看了日志文件,日志文件提示:
Cannot initialize InnoDB as 'innodb_data_file_path' is not set.
If you do not want to use transactional InnoDB tables, add a line
skip-innodb
to the [mysqld] section of init parameters in your my.cnf
or my.ini. If you want to use InnoDB tables, add to the [mysqld]
section, for example,
innodb_data_file_path = ibdata1:10M:autoextend
But to get good performance you should adjust for your hardware
the InnoDB startup options listed in section 2 at
060806 12:51:01 /usr/libexec/mysqld: Incorrect information in file: './mysql/host.frm'
060806 12:51:01 mysqld ended
我把原版的英文发给大家看看:
1. Obviously the 'ole check the log file for anything nasty
cat /var/log/mysqld.log
2. Stop the service
service mysqld stop
3. Check to see if the service stopped, it might be calling the wrong pid.
ps aux | grep mysql
4. Kill any mysql process that might still be running.
kill -9 ??? ???
5. (*CAREFUL*) Remove/move/backup any databases from the data directory, only do this step if you need to.
rm -Rf /var/lib/mysql/*
6. Check your global options configuration file, should be similar to stevanbt's initial post.
cat /etc/my.cnf
7. Copy over one of the preconfigured 'sample' server-specific options file. Global (/etc/my.cnf) file has priority over server-specific file, but these have more options in them and have been tuned for a certain role.
cp /usr/share/doc/mysql-server-?.??.??/my-small.cnf /var/lib/mysql
8. Recreate the initial databases, this step is optional as the initscripts will do this anyway.
mysql_install_db
9. Check and set the runlevels for the service.
chkconfig --level 345 mysqld on
chkconfig --list mysqld
10. Start the service.
service mysqld start
11. Check the log file (step 1)
Thats just a basic step through check, most of you have probably already done this.
其实做到step 9问题都已经解决了。