質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • WordPress

    7209questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • MySQL

    5854questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • MacOS(OSX)

    1903questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • VirtualBox

    761questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Wordpressのデータベースをwordmoveコマンドでpullしたいが、mysqldumpに失敗している?

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,425

mustardo3

score 2

ご覧いただきありがとうございます。

Wordpressで本番環境(エックスサーバー)とローカル環境(Mac OSX最新)を構築中の諸々開発初学者です。
VCCW+VirtualBox+Vagrantでローカルに仮想マシン(VM)を立て、wordmoveを使って本番とローカルを同期できるのが目標です。
本番のWordpressデータのほとんどをwordmoveコマンドでpullできた(ローカルに落とせた)のですが、
データベースだけはpullできないという状況です。

<解決したいこと>

本番のWordpressのデータベースをwordmoveコマンドでpullしたい。
が、mysqldumpに失敗している模様。

<原因の予想>

1・エックスサーバーがデータベースだけはSSH接続できないようになっている?
→2016-2017年でもエックスサーバー+wordmoveで運用している事例を散見するので、ない気がする。

2・エックスサーバーとVCCWのmySQLとmysqldumpのバージョンが違う?
→確かに違うがこれが原因かは当方では特定できず。

 ・vccw:Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using  EditLine wrapper/Ver 10.13 Distrib 5.7.16, for Linux (x86_64)
 ・Xserver:Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) using readline 5.1/ Ver 10.11 Distrib 5.0.95, for redhat-linux-gnu (x86_64)

3・ホスト名、ユーザー名、サーバ名、パスワード、ポート番号などが違う?
→合っている。ただしMovefile上にはポート番号を指定していない(問題ないはず)

<ターミナルのログ>

wordmoveでpullした時のログを以下に記述します。※一部伏字にしています

▬▬ ✓ Pulling Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    local | mysqldump --host=localhost --user=wordpress --password=wordpress --default-character-set=utf8 --result-file="/var/www/html/wp-content/local-backup-1490103762.sql" wordpress
mysqldump: [Warning] Using a password on the command line interface can be insecure.
gzip --best --force "/var/www/html/wp-content/local-backup-1490103762.sql"
    local | gzip --best --force "/var/www/html/wp-content/local-backup-1490103762.sql"
   remote | mysqldump --host=mysqlXXXX.xserver.jp --user=XXXX\  --password=XXXX --default-character-set=utf8 --result-file="/home/XXXX/XXXX/public_html/wp-content/dump.sql" XXXX
/home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/deployer/ssh.rb:57:in `remote_run': Error code 2 returned by command "mysqldump --host=XXXX --user=XXXX\  --password=XXXX --default-character-set=utf8 --result-file="/home/XXXX/XXXX/public_html/wp-content/dump.sql" XXXX": mysqldump: Got error: 1045: Access denied for user 'XXXX '@'svXXXX.xserver.jp' (using password: YES) when trying to connect (Wordmove::ShellCommandError)
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/deployer/ssh.rb:67:in `download_remote_db'
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/deployer/ssh.rb:37:in `pull_db'
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/cli.rb:69:in `block in pull'
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/cli.rb:37:in `block in handle_options'
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/cli.rb:36:in `each'
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/cli.rb:36:in `handle_options'
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/cli.rb:68:in `pull'
    from /home/vagrant/.gem/ruby/2.3.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /home/vagrant/.gem/ruby/2.3.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /home/vagrant/.gem/ruby/2.3.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
    from /home/vagrant/.gem/ruby/2.3.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
    from /home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/exe/wordmove:6:in `<top (required)>'
    from /home/vagrant/.gem/ruby/2.3.0/bin/wordmove:23:in `load'
    from /home/vagrant/.gem/ruby/2.3.0/bin/wordmove:23:in `<main>'

情報など不足あれば、お声かけくださいい。
よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+3

1・エックスサーバーがデータベースだけはSSH接続できないようになっている? 
→2016-2017年でもエックスサーバー+wordmoveで運用している事例を散見するので、ない気がする。

エラーメッセージからすると、SSH 経由でエックスサーバ側の
データベースに接続できている気がします。

2・エックスサーバーとVCCWのmySQLとmysqldumpのバージョンが違う? 
→確かに違うがこれが原因かは当方では特定できず。

今回のエラーとは、無関係の可能性が高いです。

3・ホスト名、ユーザー名、サーバ名、パスワード、ポート番号などが違う? 
→合っている。ただしMovefile上にはポート番号を指定していない(問題ないはず)

「ユーザ名(user: )」にゴミが入っている気がするのですが・・・

「Movefile」の中身を抜粋(内容は推測です)

production:

  database:
    name: "XXXX"
    user: "XXXX "        ← 「ユーザ名」の末尾にスペース(もしくはゴミ)が入っていません?
    password: "XXXX"
    host: "svXXXX.xserver.jp"

    charset: "utf8"

他の原因だとすると、厄介かもしれません。


(補足)回答に関して

ログの内容:

remote | mysqldump --host=mysqlXXXX.xserver.jp --user=XXXX\  --password=XXXX --default-character-set=utf8 --result-file="/home/XXXX/XXXX/public_html/wp-content/dump.sql" XXXX

--user=XXXX\
→ データベースのユーザ名に  \ が入っている。

(意図的に改行を入れてあります)

/home/vagrant/.gem/ruby/2.3.0/gems/wordmove-2.0.0/lib/wordmove/deployer/ssh.rb:57:in `remote_run': Error code 2 returned by command 
"mysqldump --host=XXXX --user=XXXX\  --password=XXXX --default-character-set=utf8 --result-file="/home/XXXX/XXXX/public_html/wp-content/dump.sql" XXXX": 
mysqldump: Got error: 1045: Access denied for user 'XXXX '@'svXXXX.xserver.jp' (using password: YES) when trying to connect (Wordmove::ShellCommandError)

user 'XXXX '@'svXXXX.xserver.jp'
→ 'XXXX '@' にスペースが入っている気が。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/22 01:09 編集

    gorogoroITさんにまたも助けられました。

    私もログを見て「あれ?半角ずれてる箇所があるーーでもuserの値には半角スペースないし、Movefileのユーザー名の「頭」にも半角スペースはない。うん、問題ないな

    と思っていました。
    まさか「お尻」の方に半角スペースがあったとは、、、
    確かにuserの値のお尻に妙なバックスラッシュがあります。
    今になればわかりますが全く発見できませんでした。

    2度も半角スペースの入力ミス(なぜ入ったのだろう、、、再発防止したい)で質問を送ってしまうとは。
    我ながら情けなく思いますが、ともかくも解決しました!
    おかげさまで、ついにローカル環境が構築できました!
    この感動をgorogoroITさんに捧げます。
    本当にありがとうございました!!

    多分pushはうまくいくと思います。
    ステージング環境も作ってヘマやらないようにします。
    万一の時はーーまず半角スペースを血眼になって探してからーー質問するかもしれません。
    その際は、何卒よろしくお願いいたします。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • WordPress

    7209questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • MySQL

    5854questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • MacOS(OSX)

    1903questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • VirtualBox

    761questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。