请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 13221|回复: 18

用java程序实现mysql数据库脚本导出

[复制链接]
发表于 2008-6-8 20:28:23 | 显示全部楼层 |阅读模式

其实就是通过Runtime.getRumtime().exec(“命令”)

Mysql的导出语句:cmd / mysqldump –uuser –ppass –database databaseName > sql.sql

其中,-uuser, -u表示数据库用户名,user表示你的数据库用户名;-ppass-p表示数据库密码。 pass表示你数据库的密码。-database表示为哪个数据库进行导出操作。

-XXX是执行时的一些参数, 如果要查看详细的参数及说明, 可以参看MySQL5.0DOC文档,在文档的8.11. mysqldump — A Database Backup Program有详细的说明,可以根据具体需要设置参数。

例如, 想要导出某个库的某个表数据, 可以:
cmd / c mysqldump –uuser –ppass –database databaseName –tables tableName1 tableName2 > sql.sql

拼装好这些执行的命令, 就可以交给java程序exec(),以上的是windows下的,Linux没试过。

注: 在做以上动作前, 一定要先将mysql目录下的bin加入到path中, 当然也可以不加, 但是在语句中要指定mysqldump.exe的具体位置。加完path之后记得重启IDE.

[ 本帖最后由 杨恩雄 于 2008-6-18 21:59 编辑 ]

testDB.rar

8.82 KB, 下载次数: 532

 楼主| 发表于 2008-6-8 20:34:08 | 显示全部楼层
除了导出脚本, 还需要导入脚本, 以后再补上
发表于 2008-6-8 20:41:37 | 显示全部楼层
我知道mysqldump是mysql备份的一种方式,
这种方式下,当mysql数据库的记录特别多时会不会比较慢?
除此之外,mysql备份还有其他方式吗?
 楼主| 发表于 2008-6-8 20:51:38 | 显示全部楼层
应该不会慢吧, 因为是mysql内部的命令, 如果过于庞大的数据, 例如超过一千万, 那就不用mysql了, 这个也是前两天接到的小任务.平时备份都是用工具的, 因此有多少种备份方式就真的没有研究过了, 只知道点下鼠标就可以生成脚本了цк цк

[ 本帖最后由 杨恩雄 于 2008-6-8 20:52 编辑 ]
发表于 2008-6-8 21:19:08 | 显示全部楼层
楼主有没有试过啊??我试过这种方式是不行的了。。要用java生成bat文件,然后在java里运行那个bat文件才可以。。
 楼主| 发表于 2008-6-8 21:19:42 | 显示全部楼层
是可以的, 我试过了, 源码也有, 你下来试下嘛
发表于 2008-6-8 21:26:20 | 显示全部楼层
好,下来试试!!
 楼主| 发表于 2008-6-8 21:37:44 | 显示全部楼层
注意最后那句话, 因为我之前也试过不行的, 也曾经试过用生成bat方法来试
发表于 2008-6-10 22:34:52 | 显示全部楼层
下来试了不行哦。..而且左尖括号<应该是导入啊,>才是导出啊..
 楼主| 发表于 2008-6-11 09:15:18 | 显示全部楼层
我写的是导出啊, 而且用的是 > , 你看下MySQLDumpInformation类第四十行, 就是用 > 的啊, 牛同学老眼晕花了
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

视频、代码、电子书下载
请关注"疯狂图书"公众号
QQ交流1群: 545923995  未满
微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2019-5-26 23:14 , Processed in 0.413871 second(s), 9 queries , File On.

快速回复 返回顶部 返回列表