原文链接:https://blog.csdn.net/qevery678/article/details/96422599/
问题
[root@centos74 ~]# service mysqld start
Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid).
分析解决
1、 可能已经存在 mysqld 进程.
[root@centos74 ~]# ps -ef | grep mysqld
[root@centos74 ~]# pkill -9 mysqld
# 查看是否有这个进程,如果有杀死掉
2、数据目录mysql用户是否有权限.
[root@centos74 ~]# chown -R mysql.mysql /usr/local/mysql/data
3、机器上面还有上次安装mysql的残留.
[root@centos74 ~]# find / -name mysql-binlog*
# 查看mysql的二进制目录,看是否存在mysqlbinlog.index,有的话删掉
4、mysql 在启动的时候会去寻找默认的 配置文件 /etc/my.cnf 这个目录下的 datadir 要指定数据目录.
# 如果没有,那么在 my.cnf 里面添加 datadir=/usr/local/mysql/data
5、skip-federated字段问题.
# 检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉.
6、错误日志目录不存在.
# 赋予 mysql 所有者权限 chmod chown .
7、防火墙原因.
# centos 会默认开启selinux .
[root@centos74 ~]# vim /etc/selinux/config
SELINUX=disabled
8、查看配置文件/usr/local/mysql/my.cnf里有没有innodb_buffer_pool_size
# innodb_buffer_pool_size:主要作用是缓存innodb表的索引,数据,插入数据时的缓冲.
# 默认值:128M;
# 专用mysql服务器设置此值的大小: 系统内存的70%-80%最佳.
# 如果你的系统内存不大,查看这个参数,把它的值设置小一点.