GitHub完整记录数据库GHTorrent的下载和安装经验

简单来讲,GHTorrent项目是对GitHub上所有和项目相关的公开操作数据的完整总结,具体可以参考这里的简介。应该说这个项目提供的数据对软件工程研究者还是很有价值的,这里简单介绍一下其数据导入过程。以一个新的ubuntu 16.04系统为例。这个页面中按照时间给出了MangoDB和MySQL的dump文件的下载连接:http://www.ghtorrent.org/downloads.html,我对MangoDB实在不熟悉,这里主要介绍MySQL dump文件的导入过程。

我首先安装MySQL,应该说ubuntu上安装MySQL是非常简单的,例如这里介绍的步骤:https://www.linuxidc.com/Linux/2017-05/143864.htm

上面这个页面中给出了一个在GitHub上的导入脚本和简单说明页面,已经说得比较清楚了,这里就稍微补充一些注意事项:

安装好MySQL后,在终端中输入:

mysql -u root -p

然后输入安装时设置的密码。然后接下来依次输入:

create user ghtorrentuser@'localhost' identified by '1234';
create user ghtorrentuser@'*' identified by '1234';
create database ghtorrent_restore;
grant all privileges on ghtorrent_restore.* to 'ghtorrentuser'@'localhost';
grant all privileges on ghtorrent_restore.* to 'ghtorrentuser'@'*';
grant file on *.* to 'ghtorrentuser'@'localhost';

都很好理解,创建用户ghtorrentuser,并设置其密码为1234,使其能够访问创建的ghtorrent_restore数据库。

然后在终端中定位到下载压缩包解压后的目录,并按照前面的说明,输入:

./ght-restore-mysql -u ghtorrentuser -d ghtorrent_restore -p 1234

结果提示两个Warning和一个Error,两个Warning其实不用管,虽然我也针对两个Warning搞了半天。提示的Error是:

ERROR 1290 (HY000) at line 1: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

其实这个报错也很好理解,简单来讲,就是存放dump文件的位置MySQL认为是不安全的,那么就应该设置让MySQL认为这里是这里导入的。和Windows中my.ini文件一样,我们需要找到MySQL在ubuntu中配置文件的位置,在这个位置:/etc/mysql/mysql.cnf,在终端中输入:

gedit /etc/mysql/mysql.cnf

希望对其进行编辑,发现是只读打开的,原因也很好理解,需要改变其权限:

sudo chmod 777 /etc/mysql/mysql.cnf

再通过gedit打开,在文件末尾加入:

[mysqld]
secure_file_priv=/home/quyu/mysql-2018-03-01/ #保存解压后文件夹的位置

保存后退出,其中制定了保存解压后文件夹的位置。由于我们之前更改了mysql.cnf文件的权限,还得改回来:

sudo chmod 644 /etc/mysql/mysql.cnf

需要再重启一下MySQL的服务:

sudo service mysql stop
sudo service mysql start

再重新运行上面的restore命令,发现错误提示变了,也说明我们刚才的更改起作用了:

ERROR 29 (HY000) at line 1: File '/home/quyu/mysql-2018-03-01/commit_comments.csv' not found (Errcode: 13 - Permission denied)

针对这个错误,参考网上其他朋友们的介绍,例如:https://www.cnblogs.com/zhangqunshi/p/6760746.htmlhttp://blog.csdn.net/qq473179304/article/details/55145230,解决方法也比较直观,打开:/etc/apparmor.d/usr.sbin.mysqld 文件,在最末尾处加上类似于:

  #include <local/usr.sbin.mysqld>
  /home/quyu/ r, #这里是我个人的文件夹
  /home/quyu/** rwk,
的配置,然后再重新运行上面的restore命令,发现就可以正常导入数据了。就先简单记录这么多。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值