(點擊即可進入聊天助手)
很多站長在運營網站的過程當中都會遇到一個問題,就是網站突然無法打開,數據一直無法啟動
無論是強制重啟還是,刪除網站內的所有應用,數據庫一直無法啟動
這個時候,就需要常見的運維手段了,需要對服務器后臺各個資源,進行逐一排查
如果一看到磁盤容量拉滿,也并不是網絡帶寬問題,盲目的去花錢升級硬盤容量,這是不可取的,也是個無底洞,找到具體的問題,給解決才是上上之策
解決Linux服務器上MySQL數據庫無法啟動的問題
查看數據庫錯誤日志
sudo?less?/var/log/mysql/error.log
檢查MySQL服務狀態:
使用systemctl檢查MySQL服務的狀態,以確定是否有錯誤信息
sudo?systemctl?status?mysql.service
檢查配置文件
確保/etc/my.cnf或/etc/mysql/my.cnf(路徑可能因發行版而異)配置文件中沒有錯誤
檢查磁盤空間(很多時候就是這個原因)
確保服務器上有足夠的磁盤空間,先使用df -h 查看磁盤容量,然后再使用du -sh *,查看文件大小,找到文件異常大的,然后使用rm -rf 文件名,刪除掉騰出資源空間
df?-h
檢查權限問題:
確保MySQL相關目錄和文件的權限設置正確。
檢查端口占用:
確保MySQL默認端口3306沒有被其他進程占用
sudo?netstat?-tulnp?|?grep?3306
嘗試安全模式啟動:
如果常規啟動失敗,可以嘗試以安全模式啟動MySQL
sudo?mysqld_safe?&
修復安裝:
如果懷疑數據庫損壞,可以嘗試使用MySQL的修復工具
sudo?mysql_upgrade?-u?root?-p
重新配置/初始化:
如果以上方法都不能解決問題,可能需要重新配置或初始化數據庫
sudo?mysqld?--initialize
sudo?systemctl?start?mysql.service
linux服務器MySql數據庫始終無法啟動 ? ?解決Linux服務器上MySQL數據庫無法啟動的問題,通常需要檢查以下幾個方面:
查看錯誤日志:
使用grep命令查看MySQL的錯誤日志,通常位于/var/log/mysql/error.log。
sudo grep?'temporary'?/var/log/mysql/error.log
檢查MySQL服務狀態:
使用systemctl檢查MySQL服務的狀態,以確定是否有錯誤信息。
sudo?systemctl?status?mysql.service
檢查配置文件:
確保/etc/my.cnf或/etc/mysql/my.cnf(路徑可能因發行版而異)配置文件中沒有錯誤。
檢查磁盤空間:
確保服務器上有足夠的磁盤空間。
df -h
檢查權限問題:
確保MySQL相關目錄和文件的權限設置正確。
檢查端口占用:
確保MySQL默認端口3306沒有被其他進程占用。
sudo netstat -tulnp | grep?3306
嘗試安全模式啟動:
如果常規啟動失敗,可以嘗試以安全模式啟動MySQL。
sudo?mysqld_safe &
修復安裝:
如果懷疑數據庫損壞,可以嘗試使用MySQL的修復工具。
sudo?mysql_upgrade -u root -p
重新配置/初始化:
如果以上方法都不能解決問題,可能需要重新配置或初始化數據庫。
sudo mysqld --initialize sudo systemctl start mysql.service
查看系統日志:
查看系統日志,如/var/log/syslog或使用journalctl,以獲取可能導致MySQL啟動失敗的更多信息。
sudo?journalctl?-u?mysql.service
下面介紹一個,磁盤空間爆滿,即使刪除服務器內的所有應用,數據庫依舊無法啟動
進入服務器根目錄查看磁盤容量
遠程登陸服務器,進入服務器根目錄
cd?/
使用df -h, 命令查看服務器下資源各個磁盤的容量情況
如果你發現某個文件目錄下,占用磁盤空間特別大,那就是這個磁盤該清理了的
Filesystem??????Size??Used?Avail?Use%?Mounted?on
tmpfs???????????593M??972K??592M???1%?/run
/dev/vda2???????118G???117G???99G??98%?/
tmpfs???????????2.9G??8.0K??2.9G???1%?/dev/shm
tmpfs???????????5.0M?????0??5.0M???0%?/run/lock
tmpfs???????????593M??4.0K??593M???1%?/run/user/0
此刻,說明/dev/vda2的資源已經滿了,導致數據庫無法啟動的根本原因就在這里
所以需要刪除一些占用硬盤資源大的東西
使用"du -sh *"查看當前目錄下每一個的目錄和文件的大小匯總
0???????bin
242M????boot
8.0K????dev
21M?????etc
184M????home
0???????lib
0???????lib32
0???????lib64
0???????libx32
16K?????lost+found
4.0K????media
4.0K????mnt
4.0K????opt
8.0K????patch
du:?cannot?access?'proc/25809/task/25809/fd/4':?No?such?file?or?directory
du:?cannot?access?'proc/25809/task/25809/fdinfo/4':?No?such?file?or?directory
du:?cannot?access?'proc/25809/fd/3':?No?such?file?or?directory
du:?cannot?access?'proc/25809/fdinfo/3':?No?such?file?or?directory
0???????proc
30M?????root
976K????run
0???????sbin
1.3G????snap
4.0K????srv
0???????sys
1.3M????tmp
3.9G????usr
5.1G????var
4.1G????www
然后你看哪個文件占用內存特別大,然后就進入哪個目錄去刪掉的
一般來說,幾個G的,不算太大,但是某個目錄文件超過硬盤的90%,那這個目錄肯定需要騰出資源來
比如:我的是,www這個目錄,之前是占用了110多個G,這個目錄主要是存放服務器一些資源的
進入哪個目錄,就用du -sh *,這個命令查看各個文件的大小
進入/www/server/,發現是php某個版本占用硬盤資源非常大,發現php版本,70占用硬盤空間達到100多個G,把它刪掉就可以了的
使用命令rm -rf 70,刪除,然后重啟服務器就可以了的
你只要看哪個目錄占用空間非常大,繼續使用cd命令進入相應的目錄,繼續使用du命令進行查看,然后刪除一下沒用的文件,或者把它掛載到其他分區
總結
服務器內,不要隨意的去安裝各種php版本,它是非常占用磁盤空間的,有些應用程序非常吃硬盤,網站每運行一分鐘,不僅會產生日志,緩存,還有可能會產生一些其他的文件,時間一久就會影響磁盤,如果積累到一定程度,就會影響服務器的運行速度
選擇合適的php版本,因網站程序而異,不可千篇一律,得適配程序的,不可胡亂安裝的,否則會導致一些奇怪的問題,嚴重會影響業務
富爸爸情商課
2025-01-10

理解人性
2025-01-09

金錢的藝術
2025-01-08

點擊左下角查看更多