首页 > 数据库技术 > 详细

mysql启动报错:Starting MySQL... ERROR! The server quit without updating PID file

时间:2015-04-21 14:54:18      阅读:346      评论:0      收藏:0      [点我收藏+]


mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid) 的解决方法:




首先看一下我的mysql的配置文件的配置:

cat /usr/local/mysql/my.cnf


[mysqld]

basedir = /usr/local/mysql

datadir = /opt/mysql/data

port = 3306

server_id = 1

pid-file = /opt/mysql/data/mysql.pid

socket = /tmp/mysqld.sock

default_storage_engine = InnoDB

log-bin = /opt/mysql/binlog/mysql-binlog

expire_logs_days = 14

max_binlog_size = 5G

binlog_cache_size = 10M

max_binlog_cache_size = 20M

slow_query_log

long_query_time = 2

slow_query_log_file = /opt/mysql/data/slow.log

open_files_limit = 65535

innodb = FORCE

innodb_buffer_pool_size = 100M

innodb_log_file_size = 1G

query_cache_size = 0

thread_cache_size = 64

table_definition_cache = 512

table_open_cache = 512

max_connections = 20

sort_buffer_size = 10M

max_allowed_packet = 6M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


[client]

#socket=/var/lib/mysql/mysql.sock




1、可能是/opt/mysql/data/mysql.pid文件没有写的权限

   解决方法 :给予权限,执行  "chown -R mysql.mysql /opt/mysql/data"   "chmod -R 755 /opt/mysql/data"  然后重新启动mysqld


2、可能进程里已经存在mysql进程

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


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

   解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧


4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]下有没有指定数据目录(datadir)。

   解决方法:请在[mysqld]下设置这一行:datadir = /opt/mysql/data


5、skip-federated字段问题

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


6、错误日志目录不存在

   解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限


7、selinux惹的祸,如果是centos系统,默认会开启selinux

   解决方法:先临时改为警告模式:[root@www php]# setenforce 0

             然后打开/etc/sysconfig/selinux,把SELINUX=enforcing改为SELINUX=disabled






附加:

经验之谈:

还有一个原因可能是:

查看配置文件/usr/local/mysql/my.cnf里有没有innodb_buffer_pool_size这个参数

innodb_buffer_pool_size主要作用是缓存innodb表的索引,数据,插入数据时的缓冲;

                                            默认值:128M;

                                            专用mysql服务器设置此值的大小: 系统内存的70%-80%最佳。

                                            如果你的系统内存不大,查看这个参数,把它的值设置小一点吧




启动成功后:

[root@www log]# ps -ef | grep mysql

root     11842     1  0 07:54 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/mysql/data --pid-file=/opt/mysql/data/mysql.pid

mysql    12336 11842  0 07:54 pts/1    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --open-files-limit=65535 --pid-file=/opt/mysql/data/mysql.pid --socket=/tmp/mysqld.sock --port=3306



















本文出自 “” 博客,请务必保留此出处http://732233048.blog.51cto.com/9323668/1636409

mysql启动报错:Starting MySQL... ERROR! The server quit without updating PID file

原文:http://732233048.blog.51cto.com/9323668/1636409

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!