Moodle是一個開源網絡課程平臺,我們的網絡課程在這個平臺上運行多年一直比較穩定。平臺環境是Ubuntu14.04+Apache+ Mysql+PHP。但最近網絡課堂卻不能啟動。
登錄網絡課程時,有時平臺提示“讀取數據庫時發生錯誤”,有時提示“表‘context’”不存在,有時出 現“Error: Database connection failed, It is possible that the database is overloaded or otherwise not running properly. The site administrator should also check that the database details have been correctly specified in config.php”。不同故障的提示均說明Moodle課程數據庫連接出錯。
1.根據系統提示,可能是數據表損壞或刪除或數據庫系統連接出錯。用數據庫管理工具phpmyadmin連接數據庫,輸入用戶名和密碼,密碼框出現重置現象,就是密碼變為空,沒有任何提示,也沒有密碼錯誤的提示。
根據經驗,重啟網絡課程的服務器可能有用,但重啟網絡課程服務器后故障依舊。這樣,應該重點檢查數據庫。
2.檢查數據庫連接情況
(1)檢查數據庫MySQL是否正常啟動。
遠程登錄網絡課程服務器,輸入命令mysql登錄 數 據 庫,出 現“ERROR 2001(HY000):Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’(2)”提示。
輸入 mysql-u root -p,輸入數據密碼后,仍然出現一樣的提示,不能連接到本地MySQL數據庫服務器。
輸入命令/etc/init.d/mysql status查看數據庫狀態,提示“ * MySQL is stopped.”。
既然數據庫服務已經停止,輸入/etc/init.d/mysql start啟動數據庫,提示:“ERROR: The partition with /var/lib/mysql is too full!”,顯示 /var/lib/mysql所在分區太滿了。
用顯示磁盤相關信息的命令“df -h”查詢,顯示/dev/sda1已用100%,其掛載點為“/”根目錄。用命令“ls/”查看根目錄“/”下有哪些內容,發現有一個“home”目錄,這是Linux中存放用戶數據的目錄。用“du -h /home”查看home目錄下的文件大小,home/moodledata目錄為21GB,而moodledata是moodle課程中用戶保存課程數據的地方,這說明moodledata數據量過大從而造成磁盤空間不足。
(2)Moodle 服務器安裝了四塊300GB高速硬盤,RAID類型為 10,磁盤容量約600GB。但 命 令“df -h”顯示只有“/dev/sda1”一個磁盤設備,約28GB磁盤容量,說明還有硬盤未被使用。……