1、问题描述

    使用mysqldump备份,备份命令:

[root@gfsunny105 opt]# mysqldump -uroot -p  --skip-quote-names --databases test --tables t >test1.sql

mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064)

2、问题探索

2.1更改参数SQL_QUOTE_SHOW_CREATE状态值

mysql> show variables like 'SQL_QUOTE_SHOW_CREATE';

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| sql_quote_show_create | ON    | 

+-----------------------+-------+

1 row in set (0.01 sec)


mysql> set global sql_quote_show_create=off;

Query OK, 0 rows affected (0.00 sec)


mysql> exit

Bye

    继续执行上述备份,问题依旧。

2.2版本查询

查询mysql当前版本:

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.6.20    | 

+-----------+

1 row in set (0.00 sec)

查询系统中是否有遗留安装包:

[root@gfsunny105 opt]# rpm -qa|grep -i mysql

mysql-5.0.95-5.el5_9

MySQL-python-1.2.3-0.1.c1.el5

可以看到,这里有mysql5.0的安装包存在。

2.3尝试从mysqldump源路经执行备份

查看mysqldump位置:

[root@gfsunny105 opt]# which mysqldump

/usr/bin/mysqldump

再次备份,ok。

[root@gfsunny105 opt]# /usr/local/mysql/bin/mysqldump -uroot -p  --skip-quote-names --databases test --tables t >test1.sql

3、解决办法

[root@gfsunny105 bin]# ls -l mysqldump 

-rwxr-xr-x 1 root root 66860 Jan 23  2013 mysqldump

[root@gfsunny105 bin]# date

Wed Dec 31 11:39:37 CST 2014

[root@gfsunny105 bin]# rm -f /usr/bin/mysqldump 

[root@gfsunny105 bin]# cp /usr/local/mysql/bin/mysqldump /usr/bin/

[root@gfsunny105 bin]# /usr/local/mysql/bin/mysqldump -uroot -p  --skip-quote-names --complete-insert --databases test --tables t >test1.sql

Enter password: 

[root@gfsunny105 bin]# 

    删除/usr/bin目录下的mysqldump,把/usr/local/mysql/bin目录下的mysqldump拷贝过去,问题解决。