mysql主从同步错误,提示The server quit without updating PID file

在安装完lnmp后,启动mysqld失败,提示

[root@centos-6 ~]# service mysqld start
Starting MySQL [确定]
[root@centos-6 ~]# service mysqld restart
MySQL server PID file could not be found! [失败]
Starting MySQL..The server quit without updating PID file ([失败]mysql_data/centos-6.3.pid).

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

解决方式:

(1)一定要给譬如/data/mysql授权

         chown -R mysql:mysql /data/mysql

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

          你可以cd /data/mysql && touch centos-6.3.pid

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

 (3)如果还是不行,你就需要看看配置文件/etc/my.cnf里面的配置了,将port、datadir、basedir、 socket前的#去掉

     

[mysqld]
#datadir = /data/mysql_data
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /data/mysql_data
port = 3306
# server_id =
socket = /tmp/mysql.sock
 (4)另外的处理方法还有可能是下面的原因导致
 1>可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

      解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法 解决的 !http://blog.rekfan.com/?p=186

  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=enforcing改为SELINUX=disabled后存盘退出重启机器试试。


---------------------
作者:wzq-blog
来源:CSDN
原文:https://blog.csdn.net/wzqzhq/article/details/53308940
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/weizaiyes/p/9899712.html