寶塔面板mysql無法啟動問題的分析和解決
寶塔面板無法啟動的問題和解決
如果你的寶塔里面的mysql無法啟動了,請先看是不是以下的配置問題
1.是不是你的3306端口被占用了導致mysql無法啟動
2.是不是磁盤空間不足導致的無法啟動 如果都不是這些問題再繼續(xù)向下看
常見問題:
1、Mysql安裝好后或遷移文件后無法啟動
2、Mysql異常關閉后無法啟動
3、Mysql停止后無法啟動
一、Mysql安裝好后或遷移文件后無法啟動
在Mysql剛剛安裝好或者遷移文件后無法啟動我們一般先檢查Mysql的數據目錄所有者是否mysql用戶。
例如我們寶塔環(huán)境是:
- Mysql數據目錄: /www/server/data
- Mysql程序目錄:/www/server/mysql
- Mysql主配置文件:/etc/my.cnf
首先檢查硬盤分區(qū)使用率是否已經滿了 執(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
啟動數據庫
/etc/init.d/mysqld start
可以看到已經啟動成功了
[root@test server]# /etc/init.d/mysqld startStarting MySQL... SUCCESS!
還不行檢查你的selinux狀態(tài)
getenforce
如果返回值不值disable
運行命令暫時停止selinux
setenforce 0
再嘗試啟動
二、Mysql異常關閉后無法啟動
Mysql異常關閉是我們經常遇到的情況,重啟服務器時沒有預先關閉mysql,服務器斷電,使用kill命令殺死m(xù)ysql進程等都屬于異常關閉,異常關閉往往會帶來一些不可預料的后果。
一般情況下異常關閉會導致二進制日志文件損壞
執(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 時
表示當前mysql啟動需要的內存不夠,我們需要調整
innodb_buffer_pool_size key_buffer_size
的內存
三、Mysql停止后無法啟動
Mysql正常停止后無法啟動的原因
1.顯示停止成功實際停止失敗,有殘留進程,我們可以用ps來檢查
ps -ef|grep mysql
2.磁盤空間滿了導致mysql無法啟動
3.有時手動刪除了binlog日志重啟mysql也會導致無法啟動,在錯誤日志里可以找到
File ‘./mysql-bin.000001’ not found 字樣
解決方法:
注釋主配置文件的配置
找到
log-bin=mysql-bin
改為
#log-bin=mysql-bin
或者清空
mysql-bin.index
以下兩種解決方案,根據自身情況自選嘗試 1,通過改etc/init.d/mysqld解決
然后還有一種是我個人通過查帖子解決這個問題的方法首先
1.第一步是先找到etc/init.d/mysqld這個文件然后打開找到start部分
剛打開沒有藍色框的這一串代碼,為其加上然后保存關閉
2.打開寶塔終端直接輸入service mysqld start這行代碼讓其mysql進行運行
3.然后再去看mysql就已經開始運行了
2通過刪除一個文件解決
有些無法啟動的mysql可能是自己并沒有啟動主從復制,但是在/www/server/data下莫名其妙多出來了一個mysql-bin.index文件,這時候把這個文件刪掉然后再啟動也可以啟動成功,但是我的用這個就不行,大家根據自己的情況選擇解決方案
最后還是要說不要在mysql性能調整的時候進行重啟或者關閉都很容易出錯的
總結
到此這篇關于寶塔面板mysql無法啟動問題的文章就介紹到這了,更多相關寶塔面板mysql無法啟動內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
當面試官問mysql中char與varchar的區(qū)別
這篇文章主要以聊天形式圖片的添加,將面試官面試真實場景體現出來,好奇的朋友不要錯過奧2021-08-08mySQL中LEN()與DATALENGTH()的區(qū)別
LEN返回指定字符串表達式的字符數,其中不包含尾隨空格。DATALENGTH返回用于表示任何表達式的字節(jié)數。2011-03-03MySQL利用索引優(yōu)化ORDER BY排序語句的方法
這篇文章主要介紹了MySQL利用索引優(yōu)化ORDER BY排序語句的方法,幫助大家更好的理解和使用MySQL數據庫,感興趣的朋友可以了解下2020-10-10