• ベストアンサー
  • 困ってます

SSHでのmysqldumpができません

root権限を持たないVPSサーバにSSH接続しMySQLデータベースのバックアップをとりたいのですが、コマンドの書き方がおかしいのか、いっこうにmysqldumpが行われるようすがありません。SSHでの接続は正常に行われデータベース一覧等も取得できてはいます。 しかし、以下のようにコマンドをうってみても、何か入力をそくしているのかなんなのかリターンキーを押すそばから「-> 」が表示され、先に進みません。 これはどうなっているのでしょうか?、何か入力間違いがあるのでしょうか? また保存場所はどこになるのでしょうか? 不慣れな環境の中SSH接続でのMySQLメンテナンスで頭を抱えています。 データベース:mydb ユーザー名:root パスワード:n*****S mysql> mysqldump --default-character-set=binary -u root mydb --password=n*****S > mydbdump.sql

共感・応援の気持ちを伝えよう!

  • MySQL
  • 回答数2
  • 閲覧数1572
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

mysqldumpはmysqlユーティリティのプロンプトから使うのではなく、シェルプロンプトから起動するコマンドです。 >mysql -u root -p でログイン出来るパスワードで mysqldump -u root -p > 'ファイル名' を実行して見てください。ただし、指定するファイルのパスに書き込み権限が必要です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

できましたー! ありがとうございましたー! 間抜けな質問に誠実に答えていただきありがとうございました。 昨晩からずーーーとあーでもないこーでもないとやっていました。 やっと日曜日らしくすごせますー、もう夜だし..大雨ですが・・・ これで今日は眠れます。

その他の回答 (1)

  • 回答No.1
  • bin-chan
  • ベストアンサー率33% (1403/4213)

mydbdump.sql のリダイレクト先の環境は? そもそも、何処がカレントなのか、パーミッションはどうなっているのかを確認したほうがよさそうです。

共感・感謝の気持ちを伝えよう!

質問者からの補足

サーバ環境:VPS root権限は持っていませんが、MySQLのユーザー名は「root」となっています。 ユーザー名:user01 パスワード:usopass ホスト名:okwave データベース名:mydb SSHアクセスの状況は下記の通りです。 [user01@okwave ~]$ pwd /home/user01 [user01@okwave ~]$ mysql -u user01 -p Enter password: ERROR 1045 (28000): Access denied for user 'user01'@'localhost' (using password: YES) [user01@okwave ~]$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 274178 Server version: 5.0.37-community MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysqldump --default-character-set=binary -u root mydb --password=usopass > dump.sql -> -> 「-> 」が続いて表示されるばかりで・・・。

関連するQ&A

  • SSHを使ったmysqlのエクスポート方法

    SSHを使ったmysqlのエクスポート方法を教えてください LinuxコマンドもMysqlも初心者ですが、最近SSHを使ってレンタルサーバーに接続をしていろいろと試してみています。 以下を試してみましたが、エラーが出てでエキスポートできませんでした。 1. $mysql -h サーバー名 -u ユーザ名 -p 2. mysqlのパスワードを入力してmysqlにログイン 3.mysql> mysqldump -u サーバー名 -p データベース名 > testdump.sql; ERROR 1064 (42000): 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 'mysqldump -u サーバー名 -p データベース名 > testdump.sql' at line 1 というエラーができてエクスポートできません。 mysql> mysqldump --user=ユーザ名 --password=パスワード名 データベース名 < testdump.sql も試してみましたができませんでした。 以上のものは全てweb上で見つけたコマンドです。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • mysqldumpについて

    いつもお世話になっております。 MySQL4.0.21、phpMyAdmin2.6.0を使用しております。 mysqldumpコマンドをSSHでコマンド打つと、特定のテーブル以降のテーブルがダンプされません。 phpMyAdminでダンプするとキチンとダンプされるのです。 なぜなんでしょう?テーブル内のレコードに一部文字化けしているデータが含まれているのですが、エラーでちゃんと出力されていないのでしょうか? コマンドライン上にエラーは表示されません。 原因がわからずお手上げ状態です【><。】

    • ベストアンサー
    • MySQL
  • mysqldumpの使い方がイマイチ分かりません。

    こんにちは。よろしくおねがいします。 MySQLからMSSQLServerへデータを移すなどという事をやっているのですが、途中、詰まっています。 助言いただける方がいましたら、どうかよろしくおねがいしますm(_ _)m 【環境】 移行元: Windows2003Server MySQL5.1 移行先: Windows2003Server MSSQLServer2000 【やること】 MySQLにあるデータをMSSQLServerに移行する。 【方法】 1.移行元で、コマンドプロンプト起動。以下のコマンドを打ち込み、ファイルにする。 mysqldump -u ユーザ名 -pパスワード --default-character-set=binary --tab=D:/tmp --fields-terminated-by=, --fields-optionally-enclosed-by=\" --lines-terminated-by="\r\n" DB名 2.ファイルをテキストエディタで開き、「UTF8→SJIS」に変換し、保存しなおす。 3.ファイルを、移行先で、「bcpユーティリティ」を使用して、テーブルに放り込む。 【困っているところ】 mysqldumpを実行した後のファイルに、どうしたらいいのか不明なデータが入る。 テーブル構成は フィールド1:int(auto_increment) フィールド2:text(utf8_general_ci) のみです。 phpMyAdmin上で、データの挿入から、フィールド2に対して、「改行を含むデータ」を登録した場合、不明データが入ります。 ■登録データ あああああ いいいいいいい ううううう えええええええ おおおおおおお ■mysqldumpで作成されるデータ "あああああ\ いいいいいいい\ ううううう\ えええええええ\ おおおおおおお" 多分、今まで気にしていなかった(Win-MSSQL環境がほとんどなので...)改行コードが~といったところでは無いかとは思っていますが、 いろいろ試していますが解決に至っていません。 解説できる方がいらっしゃいましたら、どうかお力をお貸しいただけると助かりますm(_ _)m 試したこと。 --result-file=file あたりを使ってみた。 。。。意味なし? http://dev.mysql.com/doc/refman/5.1/ja/load-data.html 一応、読んで、オプションへの指定を変えて出力して取り込んでみるものの、特に変わらず。。。

    • ベストアンサー
    • MySQL
  • Mysqlでmysqldumpする方法を教えて。

    プログラマーが残していたphpプログラムがあります。 php自体は弄れるのですが、データーベース系の話は、私はさっぱり分かりません。 今回は、mysqlのデーターのバックアップを取りたいのですが、やりかたが分かりません。 mysqldumpしてダウンロードするようなのですが、そもそもサーバにログインする方法が分かりません。 mysqldumpを実行するために、何が必要なのか、どういう手順が必要なのか、 本当に全く分からない状態です。 mysql5を入れて、コマンドラインでやるのかと思って、インストールしようとしたのですが、インストールもうまくいかない感じです。 phpmyadminのように簡単にできるものがあれば、お教えいただければと思います。 (ちなみに、phpmyadminのエクスポートは容量制限に引っかかってできませんでした) お手数かと思いますが、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • mysqldumpについて

    MySQL初心者です。 すみません。教えてください。 mysqldump -u(ユーザー) -p(パスワード) --default-character-set=sjis (データベース名) > (ファイル名).sqlでバックアップを実行すると自動的に1つのsqlファイルに全テーブル分、以下のように生成されているのですが、リストアする時は既存のデータベースを削除(drop database データベース名;) する必要がない。又、権限付与(grant)もする必要が無いということになりますでしょうか? 逆にdatやdumpファイルとしてバックアップしているものについては、データベースの削除&権限付与等行う必要があるということになりますでしょうか? DROP IF EXISTS 'テーブル名' ; CREATE TABLE 'テーブル名' ( ) INSERT INTO 'テーブル名' VALUES ( )

    • ベストアンサー
    • MySQL
  • mysqldumpにて復元できない

    xamppのmysqlを使っていたのですが、エラーが出て動かなくなったため、xamppは削除してMysql5.5.13を新たに導入したのですが、xamppの削除するまえにbackupを取っていた*.sqlが復元できません。  コマンドプロンプトより、mysqlのbinフォルダーまで移動して、そこでmysqldump -uユーザ名 -pパスワード名 データベース >復元するファイル名を行いましたが、復元できません。  インターネットで調べたりしているのですが、復元方法がわかりません。  ご教授の程宜しくお願い申し上げます。

  • mysqlコマンドでcharsetを指定したい

    my.cnfは下記の設定で、 LinuxのSSHでmysqlコマンドを使う時だけ、ujis(EUC) で表示したいのですがどうすれば良いでしょうか? ■/etc/my.cnf [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis mysqlコマンドではオプションが指定できないようで・・

  • MySQLDBのバックアップをとるには?

    ssh接続先から接続元にMySQLDBのバックアップをとるにはどうすればいい分かりません。 自宅PCからVPSサーバーにSSH接続をして、リモートコントロールしています。 サーバー側にあるMySQLのデータベース(MyISAM)のバックアップをとるために以下のコマンドを実行しました。 「sudo mysqlhotcopy -u root -p 'パスワード' データベース./テーブル/ ~/mysqlBackUp」 バックアップを「~/mysqlBackUp」ディレクトリにとれたのですが、容量が足りないためにすべてのテーブルのバックアップは取れませんでした。 すべてのテーブルのバックアップを取るために、自宅PCに直接バックアップを取りたいのですがやり方が分かりません

    • ベストアンサー
    • MySQL
  • パスワード入力なしでsshログイン

    パスワード入力なしでsshログインしたいけど上手く行きません。 CentOS7のPCが2台(CentOS7-C, CentOS7-S)あります。 CentOS7-CからCentOS7-Sにパスワード入力なしでsshログイン(鍵認証でログイン)したいと思い、下記のサイトを参考にしながら悪戦苦闘しています。 パスワード入力なしでsshログイン(鍵認証でログイン) https://setting-tool.net/ssh-key-authorize <手順> クライアント側  ssh-keygen -t rsa でキー生成 サーバー側  クライアントで生成したキーを保存 <コマンド> ■前提 クライアント側 CentOS7-C 172.16.0.201 サーバー側 CentOS7-S 172.16.0.202 ■クライアント側設定 キーの発行 [root@CentOS7-C ~]# ssh-keygen -t rsa パーミッション設定 [root@CentOS7-C ~]# chmod 700 /root/.ssh [root@CentOS7-C ~]# chmod 600 /root/.ssh/* キーファイルをサーバー側に送る [root@CentOS7-C ~]# rsync -av -e ssh /root/.ssh root@172.16.0.202:/root/.ssh/from172.16.0.201 この時は手動でパスワード入力 ■サーバー側設定 クライアントからのキーファイルを別名で保存 [root@CentOS7-S ~]# cp /root/.ssh/from172.16.0.201/.ssh/id_rsa.pub /root/.ssh/authorized_keys キーファイルのパーミッション設定 [root@CentOS7-S ~]# chmod 600 /root/.ssh/authorized_keys ■クライアント側から接続 [root@CentOS7-C ~]# ssh root@172.16.0.202 Enter passphrase for key '/root/.ssh/id_rsa': 成功していればパスワードを聞かれずにログイン。 しかし、失敗しているので、パスワードを要求されている。 <考察> クライアントで生成したキーをサーバーにリモートコピーするだけなのに上手く行かない。 シンプルな話、 クライアントの /root/.ssh/id_rsa.pub と サーバーの /root/.ssh/authorized_keys が 同じであれば成立するというだけの話に思えるが、 クライアントでのcat /root/.ssh/id_rsa.pub と サーバーでのcat /root/.ssh/authorized_keys を見比べても全く同じなのに上手く行きません。 何が悪いのでしょうか?

  • tar+sshコマンドの解説

    以下は、tarとsshコマンドを組み合わせて一行で実行しているコマンドなのですが、やってることがいまいちわかりません。どなたか詳しい方説明していただけないでしょうか。 tar -cvf '-' /root/backup | ssh 192.168.1.2 "cat '-' > /tmp.tar" 自分なりの理解は以下の通りで、謎なところを解説していただければ非常に助かります。。 分解してみていきます。 1 tar -cvf '-' /root/backup tarで/root/backupを固めいている。 (謎1) -cvfあとの '-' は何なんでしょうか? 2 | ssh 192.168.1.2 パイプでつないでssh接続 3"cat '-' > /tmp.tar" (謎2)全体的に謎です。。 たぶん'-'が理解できればわかるのかな・・? 詳しい方ぜひご教授下さい。よろしくお願いいたします。