mysql啟動創建不了pid的原因:1、連接埠被佔用;2、產生pid檔案的目錄mysql的權限不足;3、該mysql對應的my.cnf設定檔錯誤;4、mysql的啟動腳本有問題;5、該mysql有殘餘資料影響了服務的啟動。
本教學操作環境:windows7系統、mysql8.0.22版,DELL G3電腦。
mysql啟動創建不了pid的原因:
#問題一:連接埠被佔用
f35d6e602fd7d0f0edfa6f7d103c1b57如果你啟動的這個mysql的連接埠已被其他服務佔用,應修改對應my.cnf中的連接埠號碼為其他連接埠,然後重啟mysql.
[mysqld] port=3307
2cc198a1d5eb0d3eb508d858c9f5cbdb如果在重啟mysql前,已有該mysql的進程,建議kill掉再重啟
問題二:產生pid檔案的目錄mysql的權限不足
f35d6e602fd7d0f0edfa6f7d103c1b57找到指定的mysql的資料存放目錄並授權
chown -R mysql.mysql /data/mysql
2cc198a1d5eb0d3eb508d858c9f5cbdb如果授權後,仍無法啟動。可以自己touch一個以主機名稱命名的pid文件,再啟動
cd /data/mysql touch node1.pid
問題三:該mysql對應的my.cnf配置文件錯誤
f35d6e602fd7d0f0edfa6f7d103c1b57查看my.cnf中的port,datadir,basedir,socket等參數的配置是否正確,且配置的目錄mysql是否有權限
問題四:mysql的啟動腳本有問題
f35d6e602fd7d0f0edfa6f7d103c1b57當不確定啟動腳本或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
2cc198a1d5eb0d3eb508d858c9f5cbdb如果可以啟動,那麼需要查看mysql啟動腳本或mysql.server設定檔內參數並進行修改
重點看下面兩個參數
basedir datadir
問題五:此mysql有殘餘資料影響了服務的啟動
f35d6e602fd7d0f0edfa6f7d103c1b57去mysql的資料存放目錄進行刪除,然後重啟
cd /data/mysql/ rm -r *index /etc/init.d/mysql start
2cc198a1d5eb0d3eb508d858c9f5cbdb如果還是無法啟動,去mysql的資料存放目錄進行再刪除,然後啟動
(如果資料庫不是新安裝的且資料仍在使用,不建議刪除ib開頭的檔案。如果刪除後,要使用備份對資料庫進行恢復)
cd /data/mysql/ rm -r *index rm -r ib*
5bdf4c78156c7953567bb5a0aef2fc53備註
如果是把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影片教學
以上是mysql啟動創建不了pid是什麼原因的詳細內容。更多資訊請關注PHP中文網其他相關文章!