如何使用source或mysqlimport命令,导入mysql数据?
发布于 作者:苏南大叔 来源:程序如此灵动~
导入导出mysql数据,苏南大叔一般使用phpmyadmin,二般使用navicat。但是在本文中,苏南大叔描述的是,在命令行里面如何操作mysql的数据导入,使用者的视角就偏运维人员了。

测试环境:centos,mysql@5.6。本文操作的对象,就是数据库整体,以database为操作单位。
导入sql语句
进入mysql的命令行模式:
mysql -u{name} -p{password}注意替换用户名root,密码password。-u和-p字样后面没有空格。
例如:
mysql -uroot -proot先指定要操作的数据库名,然后再source一下相关sql文件,就可以导入数据了,非常方便,很少出问题。推荐。对于苏南大叔的经验来说,同样的sql文件,通过流行的各种软件导入的时候,经常有各种各样其它的错误提示。
命令如下:
use {database_name};
source {file_name};例如:
use demo;
source /db/sql.sql;导入csv结构化文本
使用source导入mysql的话,问题就是会比较麻烦,要敲好几条命令。那么实际上还有条一次就可以解决问题的方案,那就是mysqlimport。经过苏南大叔的反复事件,这个命令和想象中的不一样,不一样。不是导入sql文件的,是类似导入那种csv文件的。当然,这里并不是说必须是.csv文件,.txt之类的都行。
mysqlimport -uroot -p {dbname} --local {data_file_path}例如:
mysqlimport -uroot -p xmm --local /db/xmm_table.txt这里值得注意的是:对于导入的文件,里面不是sql语句,而是类似csv之类的数据。并且,导入文件的名称就是数据库里面的表名称,没有对应的表名,可能会报错哦。
具体的使用,请参见下面的链接:
特殊说明
在本文中的命令描述中,都涉及到了一个-p参数,一般来说,在命令行里面,是不会出现password明文的,需要手动输入。但是,如果是在自动执行类的命令中,还是建议把password明文附在-p后面。这样的话,就可以保证命令的连续性,不会被打断操作体验。
总结
在本文中,主要描述的是:如何通过命令行来导入mysql数据。适合于命令行环境(比如centos的服务器环境维护)。当然,即使是windows环境中,只要在命令行里面,可以访问mysql、mysqlimport,那么,本文中的描述,都是适用的。
更多mysql的相关经验文章,请点击下面的链接查看: