您好,登錄后才能下訂單哦!
小編給大家分享一下解決MySQL啟動創建不了pid的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
MySQL啟動創建不了pid怎么辦
首先pid文件是mysql啟動后,生成的一個文件,里面記錄的是mysql當前的進程號,如果創建失敗,mysql就無法啟動。
可能原因:
1、mysql的端口被占用
2、生成pid文件的目錄mysql的權限不足
3、mysql對應的my.cnf配置文件錯誤
4、mysql的啟動腳本有問題
5、mysql有殘余數據影響了服務的啟動
推薦:MySQL教程
問題一:端口被占用
<1>如果你啟動的這個mysql的端口已被其他服務占用,應修改對應my.cnf中的端口號為其他端口,然后重啟mysql.
[mysqld] port=3307
<2>如果在重啟mysql前,已有該mysql的進程,建議kill掉再重啟
問題二:生成pid文件的目錄mysql的權限不足
<1>找到指定的mysql的數據存放目錄并授權
chown -R mysql.mysql /data/mysql
<2>如果授權后,仍無法啟動。可以自己touch一個以主機名命名的pid文件,再啟動
cd /data/mysql touch node1.pid
問題三:該mysql對應的my.cnf配置文件錯誤
<1>查看my.cnf中的port,datadir,basedir,socket等參數的配置是否正確,且配置的目錄mysql是否有權限
問題四:mysql的啟動腳本有問題
<1>當不確定啟動腳本或mysql.server配置文件內參數是否正常時,先使用mysqld_safe方式啟動,查看是否可啟動
(先cd到mysql的安裝根目錄)
./mysqld_safe --defaults-file=/etc/mysql_3306/my.cnf --user=mysql or ./mysqld_safe --defaults-file=/etc/mysql/3306/my.cnf --basedir=/Apk/install/mysql --datadir =/mysql/data/ --pid-file=/mysql/data/mysql.pid --socket=/mysql/data/mysql.sock --port=3306
<2>如果可以啟動,那么需要查看mysql啟動腳本或mysql.server配置文件內參數并進行修改
重點看下面兩個參數
basedir datadir
問題五:該mysql有殘余數據影響了服務的啟動
<1>去mysql的數據存放目錄進行刪除,然后重啟
cd /data/mysql/ rm -r *index /etc/init.d/mysql start
<2>如果還是無法啟動,去mysql的數據存放目錄進行再刪除,然后啟動
(如果數據庫不是新安裝的且數據仍在使用,不建議刪除ib開頭的文件。如果刪除后,要使用備份對數據庫進行恢復)
cd /data/mysql/ rm -r *index rm -r ib*
<3>備注
如果是把mysql的數據存放目錄下的文件都刪除了,應重新進行初始化。初始化后,進行啟動。
例如:
/Apk/install/mysql/mysql-5.5.32/script/mysql_install_db --user=mysql --basedir=/Apk/install/mysql/mysql-5.5.32 --datadir=/Apk/data/mysql_3306/data --pid-file=/Apk/data/mysql_3306/data/mysql.pid --socket=/tmp/mysql_3306.sock --port=3306
看完了這篇文章,相信你對解決MySQL啟動創建不了pid的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。