首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下载/编译mysqldump的本地版本

下载/编译mysqldump的本地版本
EN

Unix & Linux用户
提问于 2016-12-11 22:08:44
回答 2查看 1.2K关注 0票数 0

我正在使用一个由其他人管理的else服务器。此服务器上的mysqldump版本从2011年开始:

$ mysqldump --help mysqldump Ver 10.13 Distrib 5.1.63, for debian-linux-gnu (x86_64) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

因此,当我尝试进行数据库转储时,我得到了以下输出:

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

我让我的系统管理员去做,得到了一般的没有帮助的回答。我怀疑我能否说服他们进行升级。目前,移动到新服务器并不是一种选择。

有什么方法可以在我的主目录中下载并编译本地版本(而不必编译大量依赖项)?如果是的话,你介意帮我指出正确的方向吗?

谢谢!

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2016-12-11 22:28:58

您的链接还包含了最快的解决方案:

三年前,我遇到了同样的问题,为了降低评级,我尝试将mysqldump的5.6数据库抛出。我采取了一种稍微不同的方法,因为我没有安装mysql的特权--client5.6我只做了/usr/bin/mysqldump的副本,vi -b mysqldump查找SET选项(使用'/‘命令)将第一个字符替换为#,以便读取"#ET选项“(使用'r’命令)保存并运行我的转储( ESC :x ),现在您可以连接和转储来自mysql5.6的数据,就像我的魅力一样。

票数 1
EN

Unix & Linux用户

发布于 2016-12-11 23:49:24

先检查服务器的硬盘。如果他们运行的是新版本的MySQL,正确的mysqldump版本应该在那里.也许他们只是在搜索路径中没有它,或者旧的在搜索序列中更高。

否则..。从类似的机器中找到一个可执行文件的副本,并将其发送到上面。官方下载网站上的tarball中有预构建的二进制文件,根据需要查找"Linux通用压缩TAR“32或64位版本。不应该需要编译任何东西或“安装”任何东西。该文件将位于bin/目录中。那应该是你所需要的。我相当肯定它是完全独立的。

或者从你的机器上复制。它们非常容易携带。

但同时..。您知道没有必要在服务器机器上运行mysqldump,对吗?它不在乎它在哪里运行。它不会从服务器的硬盘中读取任何东西。它使用普通的客户端连接,通过本地的unix套接字或以其他方式连接到TCP端口3306,而所有的数据都通过该连接.哪个..。如果这不是直接向您开放的,您通常可以通过ssh shell会话免费地在隧道上传输。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/329676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档