我有一些我要导入mySQL的CSV数据文件.我想在shell脚本中进行插入,以便它可以自动化.但是,我有点厌倦了在脚本中以明文形式提供用户名和密码
我有以下问题:
我对脚本中明文中的uname/pwd的想法感到不舒服(无论如何围绕这个,或者我是否太偏执了)?也许我可以设置一个只有INSERT privelege的用户来插入表格?
数据库表(导入原始数据)具有基于表列的唯一键.我尝试导入的数据中也可能存在重复项.而不是mySQL barfing(即整个插入失败),我想要能够告诉mySQL到EITHER
(a)使用新数据更新行或 (b)忽略重复行.
无论我选择哪种设置都是针对整个导入而不是逐行导入.是否有任何标志等我可以传递给mysql,以使其表现得像上面的(a)或(b)
您应该阅读mysqlimport,它是MySQL提供的命令行工具.此工具是批量加载CSV数据的最快方法.
该工具有两个选项,--replace
并--ignore
处理重复键冲突.
关于安全性并避免在脚本中以明文形式放置密码,您还可以使用MYSQL_PWD
环境变量或.my.cnf
文件(确保文件是模式400或600).请参阅密码安全的最终用户指南.
归档时间: |
|
查看次数: |
17135 次 |
最近记录: |