mysqldump导出故障

今天在使用mysqldump导出表结构时碰到如下错误:

# mysqldump -uroot -p123456 --opt --disable-keys --no-data test > test_tab_`date +%F_%R`.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)

这个问题发生的原因是mysqldump使用了比较老的版本,
一般在Linux系统安装时,如果不注意,默认都会安装比较旧的MySQL版本,而且都是放到/usr/bin目录,导致这些旧的mysql版本的可执行文件优先被使用
如下:

# which mysqldump
/usr/bin/mysqldump
# rpm -qf /usr/bin/mysqldump
mysql-5.1.61-4.el6.x86_64

解决办法比较简单,使用当前版本的MySQL全路径导出即可

# /usr/local/mysql/bin/mysqldump -uroot -p123456 --opt --disable-keys --no-data test > test_tab_`date +%F_%R`.sql

关于紫砂壶

感悟技术人生
此条目发表在MySQL故障诊断分类目录,贴了标签。将固定链接加入收藏夹。