启动mysql失败报没有pid错误解决方法

  

下面一起来了解下启动mysql失败报没有pid错误解决方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望启动mysql失败报没有pid错误解决方法这篇短内容是你想要的。

现象:mysql服务开始时提示如下错误:

 [root@mysqldb 数据]#,service  mysql 开始
  Starting  MySQL . ., server  quit  without  updating  PID  file ([失败)/数据/3306/mysql.pid)。

原因分析:mysql.pid文件是在重动MySQL的时候会创建的,如果创建失败就会提示这个错误,发现导致此错误有很多种原因,

,,,,,,,,,,,,,,,像权限,端口被占用,参数文件配置错误等等,现具体的如下:

解决方式:

,在mysql的datadir数据目录下没有pid文件或者未被授权

(1)一定要给譬如/数据/mysql授权
,,

<>之前,,chown  -R  mysql: mysql /数据/mysql

(2)如果授权了不好,使你可以自己在/数据/mysql下建立一个以主机名命名的pid,如我的主机名是centos - 6.3

,,,,,,,,,你可以

<>之前,,,,cd /数据/mysql ,,, touch  centos-6.3.pid

,,,,,,,,,,在里面随意写一个进程中没有的pid号

,(3)如果还是不行,你就需要看看配置文件里/etc/my . cnf中所做面的配置了,将港口,datadir, basedir,套接字前的#去掉

,(4)另外的处理方法还有可能是下面的原因导致

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

,,,,,,解决方法:去mysql的数据目录/数据看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

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

,,,,解决方法:请在(mysqld)下设置这一行:datadir=/usr/local/mysql/data

,,,,,3在skip-federated字段问题

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

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

,,,,解决方法:关闭它,打开/etc/selinux/config,把selinux=执行改为selinux=禁用后存盘退出重启机器试试。

(5),由于是以系统命令方式启动的,检查mysql。服务器配置文件内的配置项是否正确,若无法判断参数是否正确,可以以Mysqld_safe来启动

,,,,,参考命令如下:

 (root@mysqldb  3306) #,你
  total  8
  drwxr-xr-x  5, mysql  mysql  4096年,Mar  15 19:16 数据
  -rw-r——r, 1, mysql  mysql  3676年,Mar  15, 

18:44  my . cnf中所做[root@mysqldb 3306] # vi mysql。开始——创建

/mysql/app/mysql/bin/mysqld_safe ——defaults-file=/mysql/数据/3306/my.cnf ——用户=mysqld 

[root@mysqldb 3306] # chmod - r 777 mysql。开始——授权

 (root@mysqldb  3306) #,你
  total  12
  drwxr-xr-x  5, mysql  mysql  4096年,Mar  15 19:16 数据
  -rw-r——r, 1, mysql  mysql  3676年,Mar  15,。18:44  my . cnf中所做
  -rwxrwxrwx  1, root , root ,,, 89, Mar  15, 22:36  mysql.start
  root@mysqldb  3306 #,。/mysql.start 
  (root@mysqldb  3306) #, 2018 - 03 - 15 - t14:36:52.021705z  mysqld_safe  Logging 用& # 39;/mysql/日志/3306/mysqldb-error.err& # 39;。
  2018 - 03 - 15 t14:36:52.043126z  mysqld_safe  Starting  mysqld  daemon  with  databases 得到/mysql/数据/3306/
 (root@mysqldb  3306) #, ps  ef | grep  mysqlroot ,,,,,
  ,3627,,,1,,0,22:36  pts/0,,,, 00:00:00 /bin/sh /mysql/app/mysql/bin/mysqld_safe ——defaults-file=/mysql/数据/3306/my.cnf ——用户=mysqldmysql ,,,
  ,4764,,3627年,48,22:36  pts/0,,,, 00:00:11 /mysql/app/mysql/bin/mysqld ——defaults-file=/mysql/数据/3306/my.cnf ——basedir=/mysql/app/mysql ——datadir
  ,=/mysql/数据/3306/data ——plugin-dir=/mysql/app/mysql/lib/plugin ——用户=mysqld ——日志错误=/mysql/日志/3306/mysqldb-error.err ——open-files-limit=65536
  ——pid文件才能=/mysql/数据/3306/mysql.pid ——套接字=/mysql/数据/3306/mysql.sock ——端口=3306
  root ,,,,,,, 4796,, 2174,, 0, 22:37  pts/0,,,, 00:00:00  grep  mysql 

(6), mysql关闭时命令是否正确,第6点与本文说明不一致,但是这个非正确关闭也会导致这种现象

启动mysql失败报没有pid错误解决方法