无mysqldump权限时,如何导出数据?

  公司的权限管的比较严格,在数据库备机上只能用select,mysqldump也没权限执行。想把数据导出来很麻烦,可以通过下面方法提高效率。

1)执行下面语句。
/home/work/mysql5/bin/mysql  -uxxx -pyyy -P6666 -h127.0.0.1 -D test -e "select * from a limit 0, 100" > /home/tmp/test100

这条语句通过select 语句把结果导入到  /home/tmp/test100 这个文件中。

2)vi /home/tmp/test100

删除第一行,第一行是数据字段信息。保存并退出。

3) 新建立一个sh脚本, vi  test.sh
cat  /home/rd/video100  | awk -F" " '{ print "insert into a values(\""$1"\",\""$2"\",\""$3"\",\""$4"\",\""$5"\",\""$6"\",\""$7"\", \""$8"\",\""$9"\", \""$10"\",\""$11"\",\""$12"\",\""$13"\",\""$14"\",\""$15"\",\""$16"\",\""$17"\",\""$18"\",\""$19"\");";} ' > test100.sql

注意:这里面的$1-$19 说明这个表中有这么多字段,这个根据自己的表字段来确定,如果只有6个字段那就只有$1-$6

4)执行  sh  test.sh
将会生成一个  test100.sql

5) 把这个test100.sql 复制到你想导入的哪台机器上,登入想导入数据库中,直接用
source  test100.sql 

注意:这里的test100.sql 要写绝对路径。

转载自:http://blog.sina.com.cn/s/blog_4ed32a400101aeto.html

你可能感兴趣的:(数据库相关)