将hustoj 数据从Ubuntu 14.04 成功迁移到 ubuntu 16.04

版权声明:本文为博主原创文章,用来记录学习过程,欢迎交流学习。 https://blog.csdn.net/k_young1997/article/details/81807013
一、首先需要搭建一个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服务

猜你喜欢

转载自blog.csdn.net/k_young1997/article/details/81807013