mysql啟動失敗,報沒有pid錯誤

來源:互聯網
上載者:User

標籤:mysql啟動失敗報沒有pid錯誤

前幾天在安裝完Mysql後,啟動mysqld失敗,花了很長時間才找到原因,現在根據網友提供的解決方案匯總一下,方便遇到時可以參考排查


現象:service mysql start 時提示如下錯誤:

[[email protected] data]# service mysql startStarting MySQL..The server quit without updating PID file ([失敗]/data/3306/mysql.pid).


原因分析:mysql.pid檔案是在重動mysql的時候會建立的,如果建立失敗就會提示這個錯誤,發現導致此錯誤有很多種原因,

                像許可權、連接埠被佔用、參數檔案配置錯誤等等,現具體的如下:


解決方式:

  在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前的#去掉


 (4)另外的處理方法還有可能是下面的原因導致

       1>可能是第二次在機器上安裝mysql,有殘餘資料影響了服務的啟動。

       解決方案:去mysql的資料目錄/data看看,如果存在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=enforcing改為SELINUX=disabled後存檔退出重啟機器試試。

(5)、由於是以系統命令方式啟動的,檢查mysql.server設定檔內的配置項是否正確,若 無法判斷參數是否正確,可以以Mysqld_safe來啟動

      參考命令如下

[[email protected] 3306]# lltotal 8drwxr-xr-x 5 mysql mysql 4096 Mar 15 19:16 data-rw-r--r-- 1 mysql mysql 3676 Mar 15 18:44 my.cnf


[[email protected] 3306]# vi mysql.start --建立

/mysql/app/mysql/bin/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --user=mysqld


[[email protected] 3306]# chmod -R 777 mysql.start --授權

[[email protected] 3306]# lltotal 12drwxr-xr-x 5 mysql mysql 4096 Mar 15 19:16 data-rw-r--r-- 1 mysql mysql 3676 Mar 15 18:44 my.cnf-rwxrwxrwx 1 root  root    89 Mar 15 22:36 mysql.start[[email protected] 3306]# ./mysql.start [[email protected] 3306]# 2018-03-15T14:36:52.021705Z mysqld_safe Logging to '/mysql/log/3306/mysqldb-error.err'.2018-03-15T14:36:52.043126Z mysqld_safe Starting mysqld daemon with databases from /mysql/data/3306/data
[[email protected] 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/data/3306/my.cnf --user=mysqldmysql     4764   3627 48 22:36 pts/0    00:00:11 /mysql/app/mysql/bin/mysqld --defaults-file=/mysql/data/3306/my.cnf --basedir=/mysql/app/mysql --datadir =/mysql/data/3306/data --plugin-dir=/mysql/app/mysql/lib/plugin --user=mysqld --log-error=/mysql/log/3306/mysqldb-error.err --open-files-limit=65536  --pid-file=/mysql/data/3306/mysql.pid --socket=/mysql/data/3306/mysql.sock --port=3306root       4796   2174  0 22:37 pts/0    00:00:00 grep mysql

(6)、Mysql關閉時命令是否正確,第6點與本文說明不一致,但是這個非正確關閉也會導致這種現象

mysql啟動失敗,報沒有pid錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.