將hustoj 數據從Ubuntu 14.04 成功遷移到 ubuntu 16.04

一、首先需要搭建一個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服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章