这篇文章主要为大家展示了“mysql start失败的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql start失败的解决方法”这篇文章吧。

mysql start失败的解决办法:1、将原来的数据目录迁移到重新制定的数据目录处;2、执行“chown -R mysql:mysql /mydata/data/”;3、执行“kill -9 进程号”;4、删除mysql-bin。

本文操作环境:Windows7系统,mysql5.5版,Dell G3电脑。

mysql start 失败怎么办?

mysql数据库启动失败

简介:

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

[root@fisheye~]#ps-ef|grepmysqlroot2555521974011:28pts/000:00:00grepmysql

启动mysql服务器

[root@fisheyedata]#servicemysqlstartMySQLserverPIDfilecouldnotbefound![失败]StartingMySQL..............ERROR!TheserverquitwithoutupdatingPIDfile(/mydata/data/fisheye..pid).[失败]

查看错误日志:

[root@fisheyedata]#tail-100fisheye.errInnoDB:LastMySQLbinlogfileposition0337403929,filename./mysql-bin.0000161410131:13:28InnoDB:Waitingforthebackgroundthreadstostart1410131:13:29InnoDB:5.5.33started;logsequencenumber100664715217:13:29UTC-mysqldgotsignal11;Thiscouldbebecauseyouhitabug.Itisalsopossiblethatthisbinaryoroneofthelibrariesitwaslinkedagainstiscorrupt,improperlybuilt,ormisconfigured.Thiserrorcanalsobecausedbymalfunctioninghardware.Wewilltryourbesttoscrapeupsomeinfothatwillhopefullyhelpdi14101301:13:29mysqld_safemysqldfrompidfile/mydata/data/fisheye.pidended

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

[root@fisheyedata]#touch/mydata/data/fisheye.pi

再进行重启服务:

[root@fisheyedata]#servicemysqlrestartERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/tmp/mysql.sock'(2)

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

[root@fisheyedata]#df-h文件系统容量已用可用已用%挂载点/dev/sda19.5G9.5G0100%//dev/sda45.5G1.3G4.0G24%/mnt/backup/dev/mapper/IhuilianVG-IhuilianLV0022G4.2G17G20%/var/www/apptmpfs1.3G01.3G0%/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后存盘退出重启机器试试。

以上是“mysql start失败的解决方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!