mysql啟動創建不了pid的原因:1、端口被占用;2、生成pid文件的目錄mysql的權限不足;3、該mysql對應的my.cnf配置文件錯誤;4、mysql的啟動腳本有問題;5、該mysql有殘余數據影響了服務的啟動。
本教程操作環境:windows7系統、mysql8.0.22版,DELL G3電腦。
mysql啟動創建不了pid的原因:
問題一:端口被占用
如果你啟動的這個mysql的端口已被其他服務占用,應修改對應my.cnf中的端口號為其他端口,然后重啟mysql.
[mysqld] port=3307
如果在重啟mysql前,已有該mysql的進程,建議kill掉再重啟
問題二:生成pid文件的目錄mysql的權限不足
找到指定的mysql的數據存放目錄并授權
chown?-R?mysql.mysql?/data/mysql
如果授權后,仍無法啟動。可以自己touch一個以主機名命名的pid文件,再啟動
cd?/data/mysql? touch?node1.pid
問題三:該mysql對應的my.cnf配置文件錯誤
查看my.cnf中的port,datadir,basedir,socket等參數的配置是否正確,且配置的目錄mysql是否有權限
問題四:mysql的啟動腳本有問題
當不確定啟動腳本或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
如果可以啟動,那么需要查看mysql啟動腳本或mysql.server配置文件內參數并進行修改
重點看下面兩個參數
basedir datadir
問題五:該mysql有殘余數據影響了服務的啟動
去mysql的數據存放目錄進行刪除,然后重啟
cd?/data/mysql/ rm?-r?*index /etc/init.d/mysql?start
如果還是無法啟動,去mysql的數據存放目錄進行再刪除,然后啟動
(如果數據庫不是新安裝的且數據仍在使用,不建議刪除ib開頭的文件。如果刪除后,要使用備份對數據庫進行恢復)
cd?/data/mysql/ rm?-r?*index rm?-r?ib*
備注
如果是把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視頻教程