MySQL mysqldump 命令错误(mysql 5.5 中的错误)

标签 mysql sql database mysqldump

我正在从我的服务器数据库中导出大约几千行的表,而 PHPMyadmin 无法处理它。所以我切换到命令行选项
但是我在执行mysqldump命令后遇到了这个错误。错误是

无法执行“SET OPTION SQL_QUOTE_SHOW_CREATE=1”:您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行 (1064) 的“OPTION SQL_QUOTE_SHOW_CREATE=1”附近使用的正确语法
在对相同的内容进行一些搜索后,我发现这是一个 bug在 mysql 5.5 版本中不支持 SET OPTION 命令。

我正在运行一个带有 centos 的 EC2 实例。我的 mysql 版本是 5.5.31(来 self 的 phpinfo)。
我想知道是否有解决此问题的方法,因为无法针对此错误升级整个数据库
或者,如果有任何其他替代方法可以进行导出或转储,请提出建议。

最佳答案

mysqldump 的替代方法是 SELECT ... INTO 形式的 SELECT,它允许将结果写入文件 (http://dev.mysql.com/doc/refman/5.5/en/select-into.html)。

上述帮助页面中的一些示例语法是:

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;

然后可以使用 LOAD DATA INFILE ( http://dev.mysql.com/doc/refman/5.5/en/load-data.html ) 将数据加载回。

页面再次给出了一个例子:

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
FIELDS TERMINATED BY ','  LINES STARTING BY 'xxx';

还有一个完整的示例对:

When you use SELECT ... INTO OUTFILE in tandem with LOAD DATA INFILE to write data from a database into a file and then read the file back into the database later, the field- and line-handling options for both statements must match. Otherwise, LOAD DATA INFILE will not interpret the contents of the file properly. Suppose that you use SELECT ... INTO OUTFILE to write a file with fields delimited by commas:

SELECT * INTO OUTFILE 'data.txt'   FIELDS TERMINATED BY ','   
FROM table2;

To read the comma-delimited file back in, the correct statement would be:

 LOAD DATA INFILE 'data.txt' INTO TABLE table2   FIELDS TERMINATED BY ',';

关于MySQL mysqldump 命令错误(mysql 5.5 中的错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21728031/

相关文章:

php - 为什么PHP Mysql multi_query()比loop query()慢

ios - 自动同步 iOS 应用程序 (Objective-C) 本地数据库与 MySQL 数据库

sql - 我可以在 Visual Studio Code for OS X 中创建 SQL 数据库吗?

php - 尝试使用 codeigniter 将其写入数据库时​​,整数更改为随机字符串

database - 其他属性可以暗示候选键吗?

php - 如何插入连接

mysql - 创建 MySQL 数据库的最佳方法?表或单独的数据库?

MySQL:获取引用已删除行的表列表

sql - MySql:设置重复列的限制

sql - Django查询大量关系