了解 MySQL 表发生了什么

find out what happened to mysql table

提问人:John11 提问时间:3/8/2021 更新时间:3/8/2021 访问量:37

问:

最近我收到了一个任务,将 xls 表中的所有数据插入到 mysql 表中。因此,我更改了 excel 工作表标题以匹配 mysql 表中的内容,并使用 csvkit - csvsql 将数据插入表中。 现在,excel 工作表有几列我不需要,现有表格也有一些我不想填充任何东西的列。 所以我将 excel 工作表转换为 csv 数据并发出如下命令:

csvcut -d ";" -c 2,4,5,6,7,8,9,11,13,14,15,16,17 -x -S  Downloads/excel_sheet.csv| csvsql --create-if-not-exists --tables contacts  --insert --blanks  --verbose --db mysql://root:"password"@localhost/testdb

我应该提一下,位于我的工作站上的mysqlserver版本是:

服务器版本:8.0.23-0ubuntu0.20.04.1 (Ubuntu)

需要数据的目标计算机是:

服务器版本:5.7.33-0ubuntu0.18.04.1 (Ubuntu)

现在不幸的是,在运行命令后,我只做了一些选择来查看是否添加了数据,我没有费心检查表格是否以任何方式更改。 几天前,我被告知该表丢失了之前存在的所有其他信息和列。 我检查了一下,确实发生了一些事情,因为我知道那里的柱子,有些现在不见了。

问题是我能看到发生了什么吗?是因为MySQL服务器版本不同吗?更重要的是,我们能拿回数据吗?

提前致谢

mysql-python csvkit

评论

0赞 Shadow 3/8/2021
只有备份丢失的数据,才能取回数据。
0赞 John11 3/9/2021
好吧,了解发生了什么怎么样?
0赞 Shadow 3/9/2021
如果您有查询日志,则可以看到发生了什么。如果没有,那么你只能猜测。
0赞 John11 3/9/2021
查询日志 ...不知何故,我想这应该是我的责任......但是查询是由 csvsql 生成的......MySQL没有自动保存的日志吗?
0赞 Shadow 3/9/2021
不可以,您必须手动打开日志记录,因为它会影响性能。通常,不建议在生产数据库上记录查询。

答: 暂无答案