
他の人が管理するWebサーバーを使用しています。このサーバーのバージョンは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
。
私はシステム管理者にこれを要求しましたが、一般的に役に立たない答えを受けました。アップグレードするよう説得できるかどうか疑問です。現在、新しいサーバーに移行するオプションはありません。
私のホームディレクトリにローカルバージョンをダウンロードしてコンパイルする方法はありますか(多くの依存関係をコンパイルせずに)?では、正しい方向を教えてください。
ありがとうございます!
答え1
あなたのリンクには最速のソリューションも含まれています。
アンドレファッション•3年前
こんにちは、ダウングレードするために5.6データベースをmysqldump中に同じ問題が発生しました。 mysql-client5.6がインストールされていないので、少し異なるアプローチをとりました。
私は/usr/bin/mysqldumpをコピーしました。 vi -b mysqldump は SET OPTION('/' コマンドを使用) を探し、最初の文字を # に置き換えて "#ET OPTION"('r' コマンドを使用) を読み込んで保存しました。マイダンプの実行(ESC:x)
これで mysql5.6 に接続してデータをダンプできる mysqldump バージョンができました。
私に魅力のように働く
答え2
まず、サーバーのハードドライブを確認してください。最新バージョンのMySQLを実行している場合は、正しいバージョンがmysqldump
実際に存在する必要があります。検索パスに対応するバージョンがない場合、または検索順序で以前のバージョンが高い場合もあります。
そうでない場合は、同様のシステムで実行可能ファイルのコピーを見つけてSFTP経由で転送する必要があります。 tarballには事前にビルドされたバイナリがあります。公式ダウンロードウェブサイト適切に「Linux Universal Compression TAR」32または64ビットバージョンを見つけます。何もコンパイルしたり「インストール」する必要はありません。ファイルはbin/
このディレクトリにあります。これが必要なすべてです。私はそれが完全に独立していると合理的に確信しています。
または、コンピュータからコピーしてください。彼らは非常に携帯可能です。
mysqldump
そして…サーバーシステムで実行する必要がないことをご存知ですか?どこで実行されるかは問題ではありません。読まない何もないサーバーのハードドライブから。ローカルUnixソケットまたはTCPポート3306を介した通常のクライアント接続を使用し、すべてのデータはその接続を介して流れます...直接使用できない場合は、通常トンネルを使用して管理できます。 SSHシェルセッションで無料ライディング。