mysql数据库启动失败
重启服务器后--重启应用服务(Confluence)--报错,数据库连接失败(mysql设置了开机自启动)--查看mysql数据库状态:[root@fisheye~]#ps-ef|grepmysqlroot..
重启服务器后-->重启应用服务(Confluence)-->报错,数据库连接失败(mysql设置了开机自启动)-->查看mysql数据库状态:
启动mysql服务器
[root@fisheye 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).[失败]查看错误日志:
未发现明显性错误提示,所以手动创建一个pid文件试试
[root@fisheye data]# touch /mydata/data/fisheye.pi再进行重启服务:
[root@fisheye data]# service mysql restart ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)突然想到之前看过此类报错的文章,记得有可能是磁盘空间不足导致的mysql无法启动。
[root@fisheye 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后存盘退出重启机器试试。
本文出自 “起点梦想” 博客,请务必保留此出处