使用mysqldump 对数据库进行备份的乱码问题

标签: mysqldump 数据库 备份 | 发表时间:2013-06-27 22:56 | 作者:sun7545526
出处:http://blog.csdn.net

最近在做项目的工程中,由于系统中需要提供数据库备份的功能,经过网上一番搜索,觉得采用简单的mysqldump

(1)java代码

String backupSQL = "cmd /c mysqldump -urootdd --extended-insert=false  -hlocalhost fts> "
			        + DB_BACKUPFILE_PATH + " ";
			Runtime runtime = Runtime.getRuntime();
			System.out.println(runtime.exec(backupSQL));

通过执行上面的代码段的出来的文件中,中文部分都已乱码出现,起初怀疑是数据库的编码有关,于是通过以下方式来查询数据库的编码

(2) >show variables like 'character%';

经过以上步骤可以确定数据库的编码是没有问题的,经过再次网上搜索 得到如下结论

" 如果MySQL服务器上的字符集是 latin1 或者其他的的,mysqldump 出来的中文都是乱码!一个简单的办法是加上默认字符集选项,如:

mysqldump [-h 127.0.0.1 -P 3307 ] -u username --default-character-set=gbk -p databasename > dumpfile.txt,

--default-character-set 知道数据内容是中文时可以指定为 gbk,这样即使数据库本身设置字符集为 latin1 出来的文件中文也能正常!", 最后将代码改成如下形式

(3)最终java 代码

String backupSQL = "cmd /c mysqldump -urootdd --default-character-set=gbk --opt --extended-insert=false  -hlocalhost fts> "
                    + DB_BACKUPFILE_PATH + " ";
            Runtime runtime = Runtime.getRuntime();
            System.out.println(runtime.exec(backupSQL));

经过以上修改,终于搞定,导出的文件中的中文时正常显示的

作者:sun7545526 发表于2013-6-27 22:56:25 原文链接
阅读:101 评论:0 查看评论

相关 [mysqldump 数据库 备份] 推荐:

使用mysqldump 对数据库进行备份的乱码问题

- - CSDN博客数据库推荐文章
最近在做项目的工程中,由于系统中需要提供数据库备份的功能,经过网上一番搜索,觉得采用简单的mysqldump. 通过执行上面的代码段的出来的文件中,中文部分都已乱码出现,起初怀疑是数据库的编码有关,于是通过以下方式来查询数据库的编码. 经过以上步骤可以确定数据库的编码是没有问题的,经过再次网上搜索 得到如下结论.

Oracle数据库备份

- - Oracle - 数据库 - ITeye博客
(一)、导出/导入(EXPORT/IMPORT).   EXPORT/IMPORT是用来将ORACLE中数据移出/移入数据库.   1、EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORT. DUMP FILE),并将重新生成数据库写入文件中.   a.用户模式:导出用户所有对象以及对象中的数据;.

DB2数据库备份还原

- - CSDN博客数据库推荐文章
可以将上面4条命令写在一个bat文件中,每条命令占一行,在装有DB2数据库的机器上运行bat文件即可. 如果DB2的版本是9,备份出来的文件名称如“DBName.0.DB2.NODE0000.CATN0000.20130220171655.001”. 如果DB2的版本是8,备份出来的文件名称如“171655.001”,该文件时存储在目录“DBName.0/DB2/NODE0000/CATN0000/20130220/”下的.

Oracle数据库备份方法[转]

- - Oracle - 数据库 - ITeye博客
转载地址: http://www.cnblogs.com/elegantok/archive/2009/03/31/1426290.html. Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统. 比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求.

mysql master/slave 数据库备份

- - 数据库 - ITeye博客
出自:http://blog.csdn.net/mer1234567/article/details/7405775.       Mysql内建的复制功能是构建大型,高性能应用程序的基础. 将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.

PostgreSQL数据库完美备份恢复

- - Linux - 操作系统 - ITeye博客
PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰常有限. 所以一直寻找完美的备份恢复方案. 梦里寻他千百度,伊人却在灯火阑珊处...其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql.

在CentOS实现mysql数据库的自动备份备份

- - CSDN博客系统运维推荐文章
        数据是一个比较重要的数据,经常需要备份,每次都手动比较麻烦. 本脚本主要现实在CentOS中实现对数据库的备份和保留最近十五天的备份文件. 避免太多无用陈旧的备份占用空间. #!/bin/bash id="root" #用户名 pwd="123123" #密码 dbs="conedu commlib" #数据库名字的列表,多个数据库用空格分开.

mysqldump - 给 DBA 的 25 个小技巧

- - jackyrong
mysqldump 是文本备份还是二进制备份. 它是文本备份,如果你打开备份文件你将看到所有的语句,可以用于重新创建表和对象. 它也有 insert 语句来使用数据构成表. mysqldump 的语法是什么. 使用 mysqldump 怎样备份所有数据库. 使用 mysqldump 怎样备份指定的数据库.

[MySQL FAQ]系列 -- mysqldump选项之skip-opt

- - MySQL 中文网
最近在用mysqldump备份时,想要把数据表和数据分开备份,因此做了2次备份. 执行备份数据库表结构时,指定了 --skip-opt 选项,相当于:. 选项 --create-option 看起来比较不起眼:. 事实上,如果把它disable的话,备份出来的表结构,会少了:. 等MySQL特有的数据表属性,需要注意下.

10 个MySQL数据库备份教程推荐

- Tim - ITeye资讯频道
MySQL是动态网站开发中最著名的开源数据库系统. 如果你在网站中使用了MySQL,那么你应该定期备份你的数据以防止它丢失. 本文将介绍自动或手动备份MySQL数据库的10个教程,看看有没有最适合你的方法. Backing Up Using MySQLDump(利用MySQLDump备份MySQL数据库).