在linux上安装的mysql5.7.20运行一段时间后会停止,看日志是'/var/run/mysqld/mysqld.pid'文件找不到,这个文件是存在内存中的,最近没有重启服务器,为什么会找不到文件。如果改正的话应该怎样呢?配置这个路径的参数在那个文件下面呢?更改路径参数是否可以?

解决方案 »

  1.   

    一般在:/etc/my.cnf 
    不过LZ服务器磁盘有写满的情况?
      

  2.   

    不是说这个文件找不到,是产生这个文件写的时候出了错,看下/var/run/mysqld这个目录是不是存在,启动mysql的用户有没有权限写
      

  3.   

    mysql莫名停止的原因就在于/var/run/mysqld这个文件路径不存在,所以我每次重启都要创建这个路径和赋权,然后一段时间后这个文件就会莫名消失,导致mysql停止
      

  4.   

    这个文件被删除并不能导致mysql停止服务
      

  5.   

    检查一下目录是否存在,mysql 所用的帐号是否有权限
      

  6.   

    .pid文件一般是进程锁句柄,在进程启动后这个文件是锁定的。用root账号强行删除会导致进程的状态不可预料,所以如果.pid文件不存在,可能导致进程crush或者重启。
    建议创建mysqld目录后,并设置mysqld的权限为-r--r--r-,看看能否避免目录被删除。
      

  7.   

    mysql服务的时候是只需要执行这个文件么?不需要读和写?
      

  8.   

    这个文件就是在启动的时候把 mysqd 的 PID 写进去,所以启动的时候必须要能够写(不存在自动创建),成功启动之后就不管了
      

  9.   

    不是指文件的权限,是指目录[/var/run/mysqld]的权限,只读,不可写和执行。