寶塔面板mysql無法啟動問題的分析和解決
寶塔面板無法啟動的問題和解決
如果你的寶塔里面的mysql無法啟動了,請先看是不是以下的配置問題
1.是不是你的3306端口被占用了導(dǎo)致mysql無法啟動
2.是不是磁盤空間不足導(dǎo)致的無法啟動 如果都不是這些問題再繼續(xù)向下看
常見問題:
1、Mysql安裝好后或遷移文件后無法啟動
2、Mysql異常關(guān)閉后無法啟動
3、Mysql停止后無法啟動
一、Mysql安裝好后或遷移文件后無法啟動
在Mysql剛剛安裝好或者遷移文件后無法啟動我們一般先檢查Mysql的數(shù)據(jù)目錄所有者是否mysql用戶。
例如我們寶塔環(huán)境是:
- Mysql數(shù)據(jù)目錄: /www/server/data
- Mysql程序目錄:/www/server/mysql
- Mysql主配置文件:/etc/my.cnf
首先檢查硬盤分區(qū)使用率是否已經(jīng)滿了 執(zhí)行下面的命令查看分區(qū)容量使用率
df -h
執(zhí)行下面的命令查看分區(qū)inode使用率
df -i
使用ll命令查看目錄詳細信息
[root@test server]# ll /www/server/ total 24 drwxr-x--- 6 root root 4096 Oct 30 17:51 data drwx--x--x 14 root root 182 Oct 16 18:01 docker drwxrwxr-x 12 root root 326 Oct 24 18:06 mysql drw-------. 14 root root 4096 Oct 24 18:06 panel
可以看到data目錄所有者是root,這時候啟動mysql報錯如下
[root@test server]# /etc/init.d/mysqld start Starting MySQL. ERROR! The server quit without updating PID file (/www/server/data/test.com.pid).
我們先修改該目錄的所有者為mysql
chown -R mysql.mysql data
啟動數(shù)據(jù)庫
/etc/init.d/mysqld start
可以看到已經(jīng)啟動成功了
[root@test server]# /etc/init.d/mysqld startStarting MySQL... SUCCESS!
還不行檢查你的selinux狀態(tài)
getenforce
如果返回值不值disable
運行命令暫時停止selinux
setenforce 0
再嘗試啟動
二、Mysql異常關(guān)閉后無法啟動
Mysql異常關(guān)閉是我們經(jīng)常遇到的情況,重啟服務(wù)器時沒有預(yù)先關(guān)閉mysql,服務(wù)器斷電,使用kill命令殺死m(xù)ysql進程等都屬于異常關(guān)閉,異常關(guān)閉往往會帶來一些不可預(yù)料的后果。
一般情況下異常關(guān)閉會導(dǎo)致二進制日志文件損壞
執(zhí)行
rm -f /www/server/data/ib_logfile0 rm -f /www/server/data/ib_logfile1
刪除日志后再嘗試啟動
遇到錯誤 Another MySQL daemon already running with the same unix socket 時
可以嘗試刪除sock文件后再啟動
rm -f /tmp/mysql.sock* rm -f /tmp/mysqlx.sock*
遇到錯誤 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 時
表示當(dāng)前mysql啟動需要的內(nèi)存不夠,我們需要調(diào)整
innodb_buffer_pool_size key_buffer_size
的內(nèi)存
三、Mysql停止后無法啟動
Mysql正常停止后無法啟動的原因
1.顯示停止成功實際停止失敗,有殘留進程,我們可以用ps來檢查
ps -ef|grep mysql
2.磁盤空間滿了導(dǎo)致mysql無法啟動
3.有時手動刪除了binlog日志重啟mysql也會導(dǎo)致無法啟動,在錯誤日志里可以找到
File ‘./mysql-bin.000001’ not found 字樣
解決方法:
注釋主配置文件的配置
找到
log-bin=mysql-bin
改為
#log-bin=mysql-bin
或者清空
mysql-bin.index
以下兩種解決方案,根據(jù)自身情況自選嘗試 1,通過改etc/init.d/mysqld解決
然后還有一種是我個人通過查帖子解決這個問題的方法首先
1.第一步是先找到etc/init.d/mysqld這個文件然后打開找到start部分

剛打開沒有藍色框的這一串代碼,為其加上然后保存關(guān)閉
2.打開寶塔終端直接輸入service mysqld start這行代碼讓其mysql進行運行
3.然后再去看mysql就已經(jīng)開始運行了
2通過刪除一個文件解決
有些無法啟動的mysql可能是自己并沒有啟動主從復(fù)制,但是在/www/server/data下莫名其妙多出來了一個mysql-bin.index文件,這時候把這個文件刪掉然后再啟動也可以啟動成功,但是我的用這個就不行,大家根據(jù)自己的情況選擇解決方案
最后還是要說不要在mysql性能調(diào)整的時候進行重啟或者關(guān)閉都很容易出錯的
總結(jié)
到此這篇關(guān)于寶塔面板mysql無法啟動問題的文章就介紹到這了,更多相關(guān)寶塔面板mysql無法啟動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql8.0.19基礎(chǔ)數(shù)據(jù)類型詳解
這篇文章主要介紹了mysql8.0.19基礎(chǔ)數(shù)據(jù)類型的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值 ,需要的朋友可以參考下2020-03-03
MySQL錯誤:You can‘t specify target table&n
在編寫MySQL的UPDATE或DELETE語句時,如果子查詢中直接引用了要操作的目標表,可能會遇到一個常見的錯誤:You can’t specify target table ‘xxx’ for update in FROM clause,這個錯誤讓許多開發(fā)者感到困惑,本文將深入分析其原因,并提供多種解決方案,2025-02-02
show engine innodb status顯示信息不全如何解決
執(zhí)行 show engine innodb status\G 時,顯示的信息不全,DEADLOCK相關(guān)信息太多,后面的都沒了2012-11-11
MySQL 自定義函數(shù)CREATE FUNCTION示例
本節(jié)主要介紹了MySQL 自定義函數(shù)CREATE FUNCTION,下面是示例代碼,需要的朋友可以參考下2014-07-07
查看修改mysql編碼方式讓它支持中文(gbk或者utf8)
MySQL的默認編碼是Latin1,不支持中文,要支持中文需要把數(shù)據(jù)庫的默認編碼修改為gbk或者utf8,真的是很麻煩啊,不過本文提供了詳細的修改教程,感興趣的你可不要走開啊,希望本文對你有所幫助2013-01-01
Mysql中使用count加條件統(tǒng)計的實現(xiàn)示例
本文主要介紹了Mysql中使用count加條件統(tǒng)計的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
MySQL中的LOCATE和POSITION函數(shù)使用方法
不常用:MySQL中的LOCATE和POSITION函數(shù)2010-02-02

