1、系统上缺少mysql的依赖文件
2、selinux惹的祸,如果是centos系统,默认会开启selinux解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试
3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。解决方法:请在[mysqld]下设置这一行:datadir=/usr/local/mysql/data
5、看日志有这样的字样“initializebufferpool,size=0M”,“cannotallocatememoryforthepool”,大概意思是说无法分配足够的内存供pool使用。此时想到mysql配置文件中有相关的配置,于是更改如下参数:innodb_buffer_pool_size=128#配置文件中该值默认为128M将这个值调小,再次启动mysql服务,问题解决!
6、目录权限问题对mysql的安装目录和数据目录分别进行授权
7、可能进程里已经存在mysql进程解决方法:用命令“ps-ef|grepmysqld”查看是否有mysqld进程,如果有使用“kill-9进程号”杀死,然后重新启动mysqld!
8、查看日志有如下错误提示:Plugin‘InnoDB’registrationasaSTORAGEENGINEfailed。解决办法:
9、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限解决方法:给予权限,执行“chown-Rmysql:mysql/var/data”“chmod-R755/usr/local/mysql/data”然后重新启动mysqld!
10、删除mysql库文件/data/mysql/中的“ib_*”文件,注意:**执行该操作之前一定要对数据库进行备份,因为ibdata1存放的是所有数据文件,如果不小心删了库,那就惨了!!!(传说中的从删库到跑路。。。),然后重启mysql。