0

我希望将来做一些社交网络分析。我拥有的数据存储在一个 sql 文件中。我正在尝试将其导入到我的 PC 上运行的 MySQL 中,以便查看其中的一些内容。我只是想确保我做对了。请参阅此 imgur 链接。

http://i.imgur.com/C6n0XyJ.png

我只是问,因为它已经像这样持续了一个多小时,这是我所预料的,但没有任何视觉确认它确实在工作。“现在导入......”或者其他东西会很好,或者是一个百分比计数器。

我知道它做了一些事情,因为在不同的命令行窗口中我做了:

mysql> show databases;

并且“tweetdata”确实出现在默认 MySQL 表(information_schema、mysql 等)下方的列表中。我只是想确保它没有死,并且我做了正确的命令来导入数据!

PS 是的,你们都可以看到我为我今天创建的本地 SQL 服务器创建的 root 密码,并且只在我家的 PC 上运行,根本没有数据:)

更新:

感谢您的输入 Tadman,很高兴听到没有给出任何进展的迹象,这就是 MySQL 的情况。过了一会儿,我收到了这个错误信息:

ERROR 1049 (42000): Unknown database 'disasters'

这是我正在查看的屏幕截图:http: //i.imgur.com/GRRgAsm.jpg

但是当我检查文件夹时,tweetdata 文件夹的大小是 14.3GB,所以我认为导入可能有效?如果 db 出现以响应

show databases;

?

4

2 回答 2

1

不幸的是,在导入这样的数据库转储时,您并没有得到太多反馈。如果它是在事务模式下创建的,那么在完全导入之前,您甚至都看不到任何数据。

查看它是否在做任何事情的一种方法是查看存储原始表的数据库目录,并查看正在创建哪些文件以及它们的大小。使用该file_per_table选项可以更轻松地完成此操作。

于 2013-06-27T22:25:00.933 回答
0

我的建议是尝试将 sql 文件分成更小的块,以便机器能够处理它们或尝试在 mysql 中进行导入。如果您已经完成了导入,您还可以查看数据库本身,导入了多少。

如果所有表和所有记录都已导入,请务必检查导入。

拆分 SQL 文件

您不能随意拆分文件,而必须注意 SQL 语句的完整性,而不是破坏它们,并且还要为语句设置正确的标题。通常有声明,比如

--
-- Table structure for table `actions`
--

DROP TABLE IF EXISTS `actions`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `actions` (
 /* ... here goes table declaration

其次是

--
-- Dumping data for table `actions`
--

LOCK TABLES `actions` WRITE;
/*!40000 ALTER TABLE `actions` DISABLE KEYS */;
INSERT INTO `actions` VALUES
/* ... entries in brackets ending with comma

并以结尾,UNLOCK TABLES但您的结构可能会有所不同。

重要的是在声明之前打破。

调试实践会告诉您首先尝试分成两半并尝试每次导入。如果一个或两个都失败了,继续分裂,直到他们成功或者你找到问题所在。

使用 MySQL

当您在 MySQL 命令行中导入数据库(或执行查询)时,您不会为每条成功记录回显,而是为整个表回显,这也可以帮助您找到断点。

看看数据库

您还可以查看数据库并查看导入的最后一个表或最后一个记录。这样,您也可以尝试查看 SQL 并查找/尝试消除导致问题的原因。通过重复,您应该得到完整和正确的输入。

于 2014-10-03T05:49:47.967 回答