下面一起來了解下啟動MySQL失敗報沒有pid錯誤解決方法,相信大家看完肯定會受益匪淺,文字在精不在多,希望啟動mysql失敗報沒有pid錯誤解決方法這篇短內容是你想要的。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、雅安服務器托管、營銷軟件、網(wǎng)站建設、仙居網(wǎng)站維護、網(wǎng)站推廣。
現(xiàn)象:service mysql start 時提示如下錯誤:
[root@mysqldb data]# service mysql start Starting MySQL..The server quit without updating PID file ([失敗]/data/3306/mysql.pid).
原因分析:mysql.pid文件是在重動mysql的時候會創(chuàng)建的,如果創(chuàng)建失敗就會提示這個錯誤,發(fā)現(xiàn)導致此錯誤有很多種原因,
像權限、端口被占用、參數(shù)文件配置錯誤等等,現(xiàn)具體的如下:
解決方式:
在mysql的datadir數(shù)據(jù)目錄下沒有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,有殘余數(shù)據(jù)影響了服務的啟動。
解決方法:去mysql的數(shù)據(jù)目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。
2>mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節(jié)下有沒有指定數(shù)據(jù)目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data
3>skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
4>selinux惹的禍,如果是centos系統(tǒng),默認會開啟selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器試試。
(5)、由于是以系統(tǒng)命令方式啟動的,檢查mysql.server配置文件內的配置項是否正確,若 無法判斷參數(shù)是否正確,可以以Mysqld_safe來啟動
參考命令如下:
[root@mysqldb 3306]# ll total 8 drwxr-xr-x 5 mysql mysql 4096 Mar 15 19:16 data -rw-r--r-- 1 mysql mysql 3676 Mar 15 18:44 my.cnf
[root@mysqldb 3306]# vi mysql.start --創(chuàng)建
/mysql/app/mysql/bin/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --user=mysqld
[root@mysqldb 3306]# chmod -R 777 mysql.start --授權
[root@mysqldb 3306]# ll total 12 drwxr-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 [root@mysqldb 3306]# ./mysql.start [root@mysqldb 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
[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/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=3306 root 4796 2174 0 22:37 pts/0 00:00:00 grep mysql
(6)、Mysql關閉時命令是否正確,第6點與本文說明不一致,但是這個非正確關閉也會導致這種現(xiàn)象
看完啟動mysql失敗報沒有pid錯誤解決方法這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業(yè)信息,可以關注我們的行業(yè)資訊欄目。