MySQL数据库启动失败解决

重启服务器后-->重启应用服务(Confluence)-->报错,数据库连接失败(MySQL设置了开机自启动)-->查看MySQL数据库状态:

[root@ www.linuxidc.com ~]# ps -ef | grep mysql
root    25555 21974  0 11:28 pts/0    00:00:00 grep mysql

启动mysql服务器

[root@ www.linuxidc.com data]# service mysql start
MySQL server PID file could not be found![失败]
Starting MySQL.............. ERROR! The server quit without updating PID file (/mydata/data/fisheye..pid).[失败]

查看错误日志:

[root@ www.linuxidc.com data]# tail -100 fisheye.err
InnoDB: Last MySQL binlog file position 0 337403929, file name ./mysql-bin.000016
141013  1:13:28  InnoDB: Waiting for the background threads to start
141013  1:13:29 InnoDB: 5.5.33 started; log sequence number 1006647152
17:13:29 UTC - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
di141013 01:13:29 mysqld_safe mysqld from pid file /mydata/data/fisheye.pid ended

未发现明显性错误提示,所以手动创建一个pid文件试试

[root@ www.linuxidc.com data]# touch /mydata/data/fisheye.pi

再进行重启服务:

[root@ www.linuxidc.com data]# service mysql restart
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

突然想到之前看过此类报错的文章,记得有可能是磁盘空间不足导致的mysql无法启动。

[root@ www.linuxidc.com data]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1            9.5G  9.5G  0  100% /
/dev/sda4            5.5G  1.3G  4.0G  24% /mnt/backup
/dev/mapper/IhuilianVG-IhuilianLV00
                      22G  4.2G  17G  20% /var/www/app
tmpfs                1.3G    0  1.3G  0% /dev/shm

果然如此,下面罗列一些类似问题(无法启动)的解决思路:

1.可能是datadir目录存在的分区满了(df -h )

      解决方法:打开配置文件/etc/my.cnf,在[mysqld]节下重新指定数据目录(datadir),并将原来的数据目录迁移到重新制定的数据目录处

      关于迁移:(1)、cp或者tar的时候一定要把权限给带上,但是为防止意外建议再授权一次;(2)、数据比较大时一定要先压缩再迁移,保证完整性,特别是scp到其他机器时可能会超时所以一定要压缩(tar.gz);(3)、若是移动至另外的服务器一定要保证mysql版本一致。

2.可能是/mydata/data/fisheye.pid文件没有写的权限

      解决方法 :给予权限,执行 “chown -R mysql:mysql /mydata/data/”  然后重新启动mysqld!

3.可能进程里已经存在mysql进程

      解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

4.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

      解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

5.skip-federated字段问题(报错信息:[ERROR] /mydata/data/mysql/libexec/mysqld: unknown option '--skip-federated')

      解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

6.selinux惹的祸,如果是CentOS系统,默认会开启selinux

      解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

Linux下MySQL启动失败的解决一例 http://www.linuxidc.com/Linux/2007-12/9637.htm

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htm

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm

Ubuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htm

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htm

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm

MySQL-5.5.38通用二进制安装 http://www.linuxidc.com/Linux/2014-07/104509.htm

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-10/108300.htm

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值