问题标签 [mysqlimport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 使用 load data infile 的最低数据库权限
我正在使用 mysqlimport 将表中的数据替换为 TSV 文件中的值。一切正常(使用 DB 超级用户名和密码导入数据),所以现在我想将其锁定,以便执行导入的数据库用户只能影响我要替换的单个表。
我知道我需要在. 为了使用“LOAD DATA INFILE”(mysqlimport 包装),但我无法找到我可以授予数据库的最小权限集。
我试过了;
但是当我运行 mysqlimport 时,这给了我一个错误;
有谁知道是否可以隔离数据库以便该用户只能更改相关表,还是我必须允许他们更广泛的访问权限才能使 mysqlimport 成为可能?
mysql - MySQL导入一个70GB的海量表,mysqlimport完成后长时间不可用表
好的,主题行的明显答案是:呃!这是70GB,请耐心等待。但听我说完。
我用来mysqlimport
快速加载数据文件(mysql标准制表符分隔格式)。完成 mysqlimport 命令大约需要 4 个小时。在此期间,磁盘以容量运行(约 50MB/秒磁盘活动)
但是它完成后又过了 5 个小时,我仍然无法运行简单的查询,例如
当我运行该查询时,它只会(似乎)无限期地阻塞。在没有运行查询的情况下,我看到了磁盘活动(一个 mysql 进程运行 3MB/秒的读写,另一个运行几 MB/秒的读取活动),自从我运行mysqlimport
. 我还看到了一个 mysql 线程从那以后运行得接近 100% mysqlimport
。
我的猜测是 mysql 正在后台处理索引等(150M 记录,InnoDB),这就是阻碍我查询表的能力的原因。但我不知道如何验证或查看正在进行的活动。或者对它可能完成的时间进行任何估计。
多余的细节:
我敢肯定有人会质疑为什么一个 70GB 的表会进入 mysql。它是 Web 应用程序中使用的只读数据表。它仅在 上建立索引,id
并且查询只会在一组有限的 ID 上(没有对该表的范围查询),只是在id
列上连接并直接在id
列上查询。该表在一个大型 Hadoop 作业中更新,并且将使用 mysqlimport 每晚更新以提高效率。
更新: MySQL 在 70GB 导入后最终崩溃,我在错误日志中看不到太多。我已将表更改为 myisam 引擎并再次尝试导入。
错误日志:
php - mysqli 获取记录
这是关于一个帖子显示来自每个用户的三张图片,其中有一个很好的解决方案来解决我遇到的相同问题。
我想知道如何在此查询中也获取图片ID?例如,如果我使用图片进行投票,那么我也必须获得图片ID。
在 Supericy 帮助后回答:(如果有人在寻找相同的东西)
然后绑定
mysql - Mysql导入语句不影响数据库
我正在尝试将 .sql 文件导入到我在 Linux 上的 MySql 服务器上的数据库中。我已经运行了命令
...但似乎什么也没发生。当我运行该命令时,它会询问我的密码,我将其输入,并且该命令应该已运行(我没有看到任何结果或消息)。我知道它不起作用,因为我登录到 MySql 服务器并检查数据库,但那里什么也没有。有人知道发生了什么吗?
我试图添加详细选项,但我得到了一堆错误,或者我认为是错误。以下是前几行:
java - 将转储文件导入 mysql JDBC
我正在将 Java 与 MySQL (JDBC) 一起使用,并且我想将转储文件导入数据库。这样做的正确方法是什么?我尝试了以下代码:
但我得到一个 MySQLSyntaxErrorException :
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'source C:...\Desktop\dumpfile.sql' 附近使用正确的语法
mysql - 将HDFS数据文件导入mysql
我正在尝试将大型 HDFS 文件导入 mysql 数据库。文件中的数据由“^A”分隔。如何告诉mysql用ctrl-A分隔每一列?另外,我是否可以指定要导入的字段。
mysql - MySQL 数据导出更改时间
我有一些用于数据库的备份和恢复脚本。该表有一个时间戳字段。备份脚本如下所示:
它创建了两个文件,table.sql 和 table.txt。恢复脚本如下所示:
然而,备份脚本输出的时间错误——比数据库中的时间晚了一个小时——但在导入时它没有更正它。
例如,一行的时间是15:10:25,但是当运行备份脚本时,table.txt中列出了 14:10:25。当我运行恢复脚本时,同一行现在有14:10:25作为数据库中的时间。如果我再次备份,它会显示 13:10:25!等等...
我不明白为什么会这样。时区似乎设置为“系统”(我在格林威治标准时间)。table.sql 文件有几行提到时区,也许那里有问题?这是有问题的完整文件:
mysql - 为什么 MySQL 导入比导出慢?
我刚刚从命令行使用mysqldump导出了一个 150 MB 的表。导出它大约需要 5 秒钟。
但是,当我尝试导入同一个文件时,最多需要 5 分钟。
为什么进口比出口慢,有没有办法加快速度?我需要导出/导入大于 1 GB 的表。
它与锁有关系吗?由于 select 正在读取数据,因此导出它会更快,而 import 正在写入数据并且可能会更慢,因为它需要写锁。
mysql - 如何将此文件导入 MySQL?
我正在尝试将此匈牙利文本文件导入 MySQL 表,但匈牙利字符总是损坏。我已经为导入文件和表尝试了许多编码,但没有找到正确的组合。
文件格式为每行一个单词和一个数字,以空格分隔。我的导入表有两列,varchar 和 integer。我正在使用 MySQL 5.5.16 和 phpMyAdmin 3.4.5。首选 phpMyAdmin 解决方案,但如有必要,我可以使用命令行。
提前致谢!
编辑:上面固定的断开链接
php - 将 glob 文本文件从 php 导入 mysql
我的 glob 代码找到了该文件并尝试将其插入表中,但失败了。我找不到任何人问同样的问题。我将有许多文件需要插入到同一个表中。它是一个逗号分隔的文本文件。
更新代码*
只要我重新加载数据线,以下代码就可以工作。当我手动使用加载数据命令时,它可以工作。我还没有找到解决“为什么加载数据命令不起作用?”问题的帖子示例。