Bug #10453 mysqldump escapes incorrectly
Submitted: 8 May 2005 22:03 Modified: 12 May 2005 12:32
Reporter: Geert Vanderkelen Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: mysqldump Command-line Client Severity:S1 (Critical)
Version:5.0.4-beta OS:Any (*)
Assigned to: Assigned Account CPU Architecture:Any

[8 May 2005 22:03] Geert Vanderkelen
Description:
Hi,

The mysqldump escapes incorrectly, especially the backslash. This results in dumps not capable of being restored.
It is behaving differently using --opt and --skip-opt, both wrong.
mysqldump 4.1.11 works fine.

Regards,

Geert

How to repeat:

-- MySQL 5.0.4-beta

mysql> create table t1 ( txt varchar(10) );
mysql> insert into t1 values ( '\\' );
mysql> insert into t1 values ( '\\\\' );

mysql> select * from t1;
*************************** 1. row ***************************
txt: \
*************************** 2. row ***************************
txt: \\

shell> mysqldump -uroot test t1
..
INSERT INTO `t1` VALUES ('),(');
..

shell> mysqldump --skip-opt -uroot test t1
..
INSERT INTO `t1` VALUES ('');
INSERT INTO `t1` VALUES ('\\');
..
[12 May 2005 12:32] Geert Vanderkelen
Has been fixed, see bug #9756:
http://bugs.mysql.com/bug.php?id=9756

Regards,

Geert