一聚教程网:一个值得你收藏的教程网站

热门教程

ubuntu12.04 mysql 无法启动问题解决办法

时间:2022-06-30 19:30:06 编辑:袖梨 来源:一聚教程网

一,权限问题导致mysql无法启动,在linux中权限是个很重要的东西,所以大多数据mysql无法启动都与

权限有问题

错误提示

World-writable config file ‘/opt/lampp/etc/my.cnf’ is ignored

[ERROR] Fatal error: Can’t change to run as user ’mysql’ ;

Please check that the user exists!

昨天的的xampp问题集锦中,已经解决了一些问题,不过今天重启又出现问题,废话不多说,下面三解决

方案。

进入lampp/etc/把my.cnf的权限改为755 重启lampp,正常。同理,把phpmyadmin的权限也改成755即可。

至此,问题全部解决。

PS:出于安全考虑,xampp不允许将mysql和phpmyadmin的权限范围设为最大,在安装时注意不要把整个

lampp目录的权限设为777。

二,Ubuntu 升级后 MySQL 无法启动


升级结束后我开始测试我的程序。我选择了手动创建数据库,但在运行 MySQL 客户端的时候,却出现了

错误信息:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket

‘/var/run/mysqld/mysqld.sock’ (2)

无论我用普通帐号还是 root 帐号都出现了这种问题。开始时我以为是个小问题,于是重启 MySQL,结

果发现启动不起来了,运行 service mysql restart 的结果是:

 代码如下 复制代码

start: Job failed to start

这时,我意识到可能是 MySQL 系统出问题了,去浏览器访问我的 blog,果然提示数据库连接不正常。

我上网搜索,确实有人有过这种经历,但原因是因为硬盘空间满了,清除出一些空间来就解决了。还有

人说跟 /var/run/mysqld 的权限有关,我试过修改权限,但仍然不管用。

这时我有点着急,因为我的数据并没有备份。系统升级这种事我做过几次,都很正常,从来没有出现过

这种情况。如果我又数据库的备份,我大不了重新做一次系统,然后把数据导入回去就行了。现在却没

办法了。我尝试着备份了 /var/lib/mysql 目录后删除 MySQL,再重新安装 MySQL,结果还是不行。

我查看了 /var/log/mysql/error.log,结果里面相关的内容是:

 代码如下 复制代码

120514 11:16:44 [Note] Plugin 'FEDERATED' is disabled.
120514 11:16:44 [Note] Plugin 'InnoDB' is disabled.
120514 11:16:44 [ERROR] Unknown/unsupported storage engine: InnoDB
120514 11:16:44 [ERROR] Aborting

120514 11:16:44 [Note] /usr/sbin/mysqld: Shutdown complete

我看了半天也没怎么看出门道来,InnoDB 我在刚开始安装 MySQL 之后马上就关上了啊,普通的网站根

本用不到 InnoDB,而且它又十分的耗内存,因此这是 VPS 的内存优化必做步骤之一。

我只好又查其它的文档,也做了不少尝试。比如说,配置文件中的 default-character-set 选项过期了

,新的选项是 character-set-server,等等。我改了一些这种选项,但总是没有效果。

最后,我因为错误记录中提到了 InnoDB,就抱着试一试的心情,把配置文件中的 skip-innodb 这一行

给注释掉了,结果启动 MySQL,竟然成功了。我无论如何也想不到竟然会在这个地方出问题。

解决了问题后我成功的让我的程序可以访问 MySQL 数据库了。然后我想找找为什么关掉 InnoDB 会让

MySQL 无法启动。当我检查我为了这个程序所创建的数据库时,惊讶的发现了这个数据表竟然使用了

InnoDB 引擎,而不是我以为的 MyISAM。抱着这种猜想,我搜索了 Google,果然发现了,从版本 5.5

之后,MySQL 默认的引擎成了 InnoDB。

三,修改编码后导致mysql无法启动

Ubuntu 12.04 MySQL改utf-8 启动不了

 代码如下 复制代码

default-character-set=utf8

报错:

start mysql. The restart(8) utility is also available.
start: Job failed to start

这么写OK了: 

 代码如下 复制代码

On MySQL 5.5 I have in my.cnf

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

热门栏目