一、首先需要搭建一個hustoj:
前幾天在Ubuntu16.04上搭建了一個hustoj,剛開始各種錯誤,不過最後還是成功搭建完畢。
搭建方法請參考:hustoj搭建
裏邊介紹了我在搭建中遇到的一些常見問題,最後總結了一個腳本,直接運行即可安裝成功,中間會有四個文件無法創建或無法連接,屬於正常情況,不用理會。在安裝前期會提示設置數據庫密碼,請全部設置爲root。
二、準備三個文件:
1.從ubuntu14.04上拷貝數據庫jol.sql文件
mysqldump -u root -proot jol > /home/jol.sql
會有下圖那樣的一個warning,這個是提示數據庫密碼直接寫在命令行中不安全,不用理會,數據會正常導出。
2.拷貝/home/Judge下的data文件
hustoj的數據組成:
mysql裏面的jol庫,以及/home/judge/data下的數據
jol庫:包含了所有的題目數據,用戶數據,用戶的提交記錄等。
/home/judge/data:各個題目的判題數據(樣例輸入輸出,測試輸入輸出)以及AC代碼
三、準備好之後將這些文件複製到相應的位置,替換掉原來的文件
將jol.sql導入MySQL:
1.先登錄MySQL;
2.用 use jol 命令將數據庫切換到jol;
3.然後用 source /home/jol.sql; 命令將數據導入。
四、遷移之後候遇到的一些問題
永久等待或者永久編譯,解決辦法:
1.修改用戶組,修改所屬組
查看/home/Judge下的文件,使用ls -al 命令查看data文件的文件屬性,將data的文件所有者改爲www-data,將文件所屬用戶組改爲root。
像下圖一樣
然後將data裏的所有題目的文件所有者改爲www-data,將文件所屬用戶組改爲www-data
像下圖一樣
2重啓judged服務
然後使用ps -A 命令查看judged服務有沒有啓動,如果沒有啓動使用 judged 命令啓動judged服務