MySQL: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1':问题
2017-05-23 10:04
375 查看
执行mysqldump报错
看到报错信息,有说MySQL server version for the right syntax to user ….,猜测可能是工具的版本问题导致的,所以需要check
查看mysqldump版本和路径
再查看mysql版本是5.6.12
看到问题所在了,mysqldump的版本和数据库的版本不一致,/usr/bin下面的是5.1.66,/usr/local/mysql/bin/下面的是5.6.12的版本。mysql能连接到5.6.12版本的是因为做了alias映射的关系,mysqldump没有做映射,那为啥会出现这个问题呢?看环境变量里面的配置
看到了有加载/usr/bin; 和 /usr/local/mysql/bin;
/usr/bin;在/usr/local/mysql/bin;的前面进行加载,所以生效的是/usr/bin下面的mysqldump。
所以解决问题的办法有如下几种:
(1)将/usr/bin;放在/usr/local/mysql/bin;后面,重新登陆
(2)删除/usr/bin下面的老版本的MySQL,执行命令rm -rf /usr/bin/mysql*
这里采取的是第一种办法,因为不知道这个老的mysql版本是否会被别的应用使用,暂时为了快速解决问题,自动加载新版本/usr/local/mysql/bin
修改完配置后,重新登陆,查看配置,再查看mysqldump的路径,然后执行mysqldump操作,一切OK,如下所示:
[root@t91~]# mysqldump -d --socket=/usr/local/mysql/mysql.sock orcl_db >orcl_db.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) [root@t91~]#
看到报错信息,有说MySQL server version for the right syntax to user ….,猜测可能是工具的版本问题导致的,所以需要check
查看mysqldump版本和路径
[root@t91~]# mysqldump --version mysqldump Ver 10.13 Distrib 5.1.66, for redhat-linux-gnu (x86_64) [root@t91~]# [root@t91~]# type mysqldump mysqldump is hashed (/usr/bin/mysqldump) [root@t91~]#
再查看mysql版本是5.6.12
[root@t91~]# mysql --version Warning: Using a password on the command line interface can be insecure. /usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.6.12, for Linux (x86_64) using EditLine wrapper [root@t91~]# [root@t91~]# type mysql mysql is aliased to `/usr/local/mysql/bin/mysql -uroot --password= -S /usr/local/mysql/mysql.sock' [root@t91~]#
看到问题所在了,mysqldump的版本和数据库的版本不一致,/usr/bin下面的是5.1.66,/usr/local/mysql/bin/下面的是5.6.12的版本。mysql能连接到5.6.12版本的是因为做了alias映射的关系,mysqldump没有做映射,那为啥会出现这个问题呢?看环境变量里面的配置
[root@t91~]# more /etc/profile |grep mysql export PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin [root@t91~]#
看到了有加载/usr/bin; 和 /usr/local/mysql/bin;
/usr/bin;在/usr/local/mysql/bin;的前面进行加载,所以生效的是/usr/bin下面的mysqldump。
所以解决问题的办法有如下几种:
(1)将/usr/bin;放在/usr/local/mysql/bin;后面,重新登陆
(2)删除/usr/bin下面的老版本的MySQL,执行命令rm -rf /usr/bin/mysql*
这里采取的是第一种办法,因为不知道这个老的mysql版本是否会被别的应用使用,暂时为了快速解决问题,自动加载新版本/usr/local/mysql/bin
[root@t91~]# more /etc/profile |grep mysql export PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/root/bin:/usr/local/mysql/bin:/usr/bin [root@t91~]#
修改完配置后,重新登陆,查看配置,再查看mysqldump的路径,然后执行mysqldump操作,一切OK,如下所示:
[root@t91~]# more /etc/profile |grep mysql export PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/root/bin:/usr/local/mysql/bin:/usr/bin [root@t91~]# [root@t91~]# type mysqldump mysqldump is /usr/local/mysql/bin/mysqldump [root@t91~]# mysqldump -d --socket=/usr/local/mysql/mysql.sock orcl_db >orcl_db.sql [root@t91~]#
相关文章推荐
- mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1'
- mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1'
- mysqldump:Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1'问题
- mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1'
- mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual t
- mysqldump导出时: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1':
- mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1'
- 解决mysqldump备份报错:SET OPTION SQL_QUOTE_SHOW_CREATE=1
- mysql的sql_quote_show_create与SHOW CREATE TABLE命令介绍
- 很怪异的asp问题,set rs=server.createobject("adodb.recordset")和set rs=conn.execute(sql)的区别
- mysqldump导出时: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1':
- mysql参数之:SQL_QUOTE_SHOW_CREATE
- 关于用MySQL的ER模型设计出来的之后的sql文件无法导入问题[Err] 1115 - Unknown character set: 'utf8'
- Windows sql语句正则匹配导出数据到本地 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
- mysql PreparedStatement executeBatch SQL语句的问题
- Java与mysql数据库编程中遇见“Before start of result set at com.mysql.jdbc.SQLError.createSQLException” 的解决办法
- Java与mysql数据库编程中遇见“Before start of result set at com.mysql.jdbc.SQLError.createSQLException” 的解决办法
- kettle3使用mysql5.6出现OPTION SQL_SELECT_LIMIT=1的问题
- MySQL Can't create/write to file 'c:/windows/temp/#sql_2d0_0.MYD' 问题的解决
- mysql5.5基础 show create table...\G 查看创建表时候用的SQL语句