分类: Mysql/postgreSQL
2010-12-27 13:55:22
Starting MySQL.The server quit without updating PID file (/[FAILED]l/mysql/
像上面这样的mysql启动错误,可谓经常看到到底是什么原因导致的呢,网上的分析解释有很多,
有人分析师skip-federated这个参数就可以了,
又有人认为删除data/mysql-bin.index文件,就可以启动服务,
其实导致出现此错误的原因有很多,解决办法也有很多,我尝试像上面的两种解决办法一样故意做出错误参数配置,而上面提到的方法也确实解决了问题.不过这都是不全面的,我也不可能提出更加全面的解决办法.
不过出现上面的错误可以说解决办法都是你的参数配置出现问题导致的,
解决思路:
1:首先检查你的错误日志,找到最近的错误.查看问题出现在哪.
2:去修改my.cnf中的参数配置,但是请注意,修改的时候你务必要记清楚那些事修改了,方便稍后做出更加正确合理的再次修改.
在配置参数的时候一定注意高度重视innodb引擎参数的配置,它是极易导致错误的关键所在.
3:正常启动服务吧.
当然问题可能更加多样化,不过错误日志都会带给你莫大的帮助,google.百度都是很不错的助手.
InnoDB: Compressed tables use zlib 1.2.3
101227 3:37:23 InnoDB: Using Linux native AIO
101227 3:37:23 InnoDB: Initializing buffer pool, size = 128.0M
101227 3:37:23 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
101227 3:37:23 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
101227 3:37:23 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
101227 3:37:24 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
101227 3:37:25 InnoDB: 1.1.3 started; log sequence number 0
101227 3:37:25 [Note] Event Scheduler: Loaded 0 events
101227 3:37:25 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.5.7-rc' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
101227 3:37:47 [ERROR] Cannot find or open table world/pp from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table con
错误实例2:
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = (nil) thread_stack 0x30000
/usr/local/mysql/bin/mysqld(my_print_stacktrace+0x33)[0x85854f3]
/usr/local/mysql/bin/mysqld(handle_segfault+0x448)[0x811cc28]
[0x220420]
/lib/libc.so.6(abort+0x101)[0x96d701]
/usr/local/mysql/bin/mysqld[0x84ee6c1]
/usr/local/mysql/bin/mysqld[0x84cc56e]
/usr/local/mysql/bin/mysqld[0x84ccaef]
/usr/local/mysql/bin/mysqld[0x84bd21b]
/usr/local/mysql/bin/mysqld[0x8495d9e]
/usr/local/mysql/bin/mysqld[0x8489d55]
/usr/local/mysql/bin/mysqld[0x848a0e7]
/usr/local/mysql/bin/mysqld[0x848d1ab]
/usr/local/mysql/bin/mysqld[0x84760c5]
/usr/local/mysql/bin/mysqld[0x843f75f]
/usr/local/mysql/bin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x51)[0x82a9631]
/usr/local/mysql/bin/mysqld[0x81aa768]
/usr/local/mysql/bin/mysqld(_Z11plugin_initPiPPci+0xcf9)[0x81af169]
/usr/local/mysql/bin/mysqld[0x8123453]
/usr/local/mysql/bin/mysqld(_Z11mysqld_mainiPPc+0x420)[0x8126050]
/usr/local/mysql/bin/mysqld(main+0x32)[0x811ade2]
/lib/libc.so.6(__libc_start_main+0xdc)[0x958e9c]
/usr/local/mysql/bin/mysqld[0x811acf1]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
101230 02:50:01 mysqld_safe mysqld from pid file /usr/local/mysql/data/MySQLServer.pid ended
诸如更多的错误,检查你的配置文件吧.
chinaunix网友2011-01-03 15:11:26
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com