1.使用阿里云的服务器搭建的WordPress经常出现链接数据库出错的问题。
这时候去登录你的数据库也常常是报错的#2002的错误。
2.通常这种报错可以直接找百度 搜索 #2002 无法登录 MySQL 服务器 这些关键词会有很多教程和解决办法。
如图:所示就是一种解决办法。
3.这个时候我就会去重启服务器上的数据库,但是这次报错了。数据库无法启动!
Starting MySQL.The server quit without updating PID file (/alidata/server/mysql/data/iz2ze6j8qbz56pgqeunfyrz.pid). [FAILED]
4.所以我去查看了错误日志:
170915 12:46:29 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
170915 12:46:29 InnoDB: Completed initialization of buffer pool
170915 12:46:29 InnoDB: Fatal error: cannot allocate memory for the buffer pool
170915 12:46:29 [ERROR] Plugin 'InnoDB' init function returned error.
170915 12:46:29 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170915 12:46:29 [ERROR] Unknown/unsupported storage engine: InnoDB
170915 12:46:29 [ERROR] Aborting
170915 12:46:29 [Note] /alidata/server/mysql/bin/mysqld: Shutdown complete
170915 12:46:29 mysqld_safe mysqld from pid file /alidata/server/mysql/data/iz2ze6j8qbz56pgqeunfyrz.pid ended
5.本次实际解决的问题出在前两行,size过大。百度一样说服务器内存太小,这个服务器启动所占内存太高,所以会经常链接不上,在这里我修改了my.cnf中的innodb_buffer_pool_size = 16M
记得要把前面的#去掉否则缺省,还是128M。同时删除了/alidata/server/mysql-5.5.40/data
(这是我的mysql目录)中的ib_logfile0和ib_logfile1两个文件。此时再重启数据库就成功了。
170915 12:46:29 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
所以出错的原因,网站打不开是因为数据库出了问题。数据库经常出问题在于内存消耗太多。解决的方法我贴个链接:https://www.ip21.cn/blog/302
如图:
目前通过第5条的修改已经解决的无法链接的问题。如上图所示的彻底解决有没有用还需要测验。