我是一名系统管理员,不会做大量的 dba 工作。对于一个项目,我可以访问一个生产服务器——我不是系统管理员——有一个巨大的 40,000,000 行 > 10 GB MySQL InnoDB 表。我想导出两个小列,其中一个是 INT(11),另一个是该表中的 VARCHAR(20) 到 CSV 或 .SQL 文件(两者都可以,我会写一个人行横道下一步没问题)。
我们可以将列 ColumnA 和 ColumnB 以及表称为 SampleTable。
MySQLdump 不是正确的工具,因为我无法指定列,而且我不需要导出一个只有两个小列的大型表。
我知道我可以执行 SELECT INTO 语句(创建一个仅包含列的新表,或者执行 SELECT INTO OUTFILE 以跳过中间步骤),但我担心这会导致生产服务器上的表级锁定. 该表是 InnoDB。
为了避免给服务器上的任何实时流量带来不便或锁定任何东西,我最好的选择是什么?
谢谢