MySQL从CSV数据文件批量插入
我有一些要导入mySQL的CSV数据文件。我想在shell脚本中进行插入,以便可以将其自动化。但是,我对在脚本中使用明文形式输入用户名和密码感到有些厌倦
我有以下问题:
我对脚本中明文中的uname / pwd的想法感到不满意(反正还是这样,还是我太偏执)?也许我可以为插入表设置仅具有INSERT特权的用户?
数据库表(导入原始数据的数据库表)具有基于表列的唯一键。我尝试导入的数据中也可能有重复项。我希望能够将mySQL告诉 *
(a)使用新数据更新行, (b)忽略重复的行。
我选择的任何设置都将用于整个导入,而不是逐行进行。是否有任何标志等可以传递给mysql以使其表现为类似于(a)或(b)的行为
- 谁能建议一个关于编写这样的(bourne)shell脚本的起点?
回答:
您应该阅读有关mysqlimport的信息,这是MySQL随附的命令行工具。该工具是批量加载CSV数据的最快方法。
该工具有两个选项,--replace
并--ignore
处理重复键冲突。
关于安全性和避免在脚本中以纯文本形式输入密码,您还可以使用MYSQL_PWD
环境变量或.my.cnf
文件(确保文件的模式为400或600)。请参阅《最终用户密码安全准则》。
以上是 MySQL从CSV数据文件批量插入 的全部内容, 来源链接: utcz.com/qa/430971.html