WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

MySQL: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1':问题

更新时间:2021-05-13 10:08 作者:selectgo点击:
执行mysqldump报错
 
[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~]# 
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容