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

SFTPで/var/lib/mysql/にPUT

MySQL5.5でレプリケーション(準同期)を構築しています。 http://it.sifr.me/mysql-semi-synchronous-replication/ 上記のサイトを参考に、マスターサーバー(192.168.100.101)からスレーブサーバー(192.168.100.105)にレプリケーションの予定です。 上記サイトをもとに構築していたのですが、レプリケーションの前の段階の 「SFTPで/var/lib/mysql/に接続、PUT」するという単純なことが出来ません。 下記のように192.168.100.101にあるSQLをスレーブサーバー192.168.100.105にSFTPで接続してPUTするという作業をしたころ Couldn't get handle: Permission denied になってしまっています。 [root@sv1 ~]# cd /var/lib/mysqll      //192.168.100.101のマスターサーバー上でcd [root@sv1 mysql]# sftp -oPort=22 replica@192.168.100.105 //スレーブに接続 Connecting to 192.168.100.105... replica@192.168.100.105's password: sftp> cd /var/lib/mysql      //192.168.100.105のスレーブサーバー上でcd sftp> put master-mysql-data.tar.gz   //192.168.100.105のスレーブサーバーにput Uploading master-mysql-data.tar.gz to /var/lib/mysql/master-mysql-data.tar.gz Couldn't get handle: Permission denied  //エラー sftp> 現在のユーザー設定は以下の通りです。 ユーザー名はいずれも replica で 192.168.100.101(マスター) ●linuxユーザー(ユーザー名 replica) ●mySQLユーザー(ユーザー名 replica)    ホスト192.168.100.105 スレーブレプリケーションの許可 192.168.100.105(スレーブ) ●linuxユーザー(ユーザー名 replica)(グループ mysql) ●mySQLユーザー(ユーザー名 replica)     ホスト192.168.100.101    スレーブレプリケーションの許可&クライアントレプリケーションの許可 と設定しています。 尚、PUT先の192.168.100.105 の/var/lib/mysql/の所有者はユーザー、グループともmysqlです。 mysqlユーザーで行えばput可能のでしょうが、どのサイトを見てもreplication専用ユーザーを作って対応することとなっており、安全上の面からも機能限定のユーザーでputしたく考えております。 対応方法についてご教授いただきたくお願いいたしします。

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

  • 回答数1
  • 閲覧数309
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
  • Wr5
  • ベストアンサー率53% (2177/4070)

>尚、PUT先の192.168.100.105 の/var/lib/mysql/の所有者はユーザー、グループともmysqlです。 >mysqlユーザーで行えばput可能のでしょうが、どのサイトを見てもreplication専用ユーザーを作って対応することとなっており、安全上の面からも機能限定のユーザーでputしたく考えております。 グループに書き込み権限がついていないだけ…とか言うことはありませんか? ティストリビューションが何かは不明ですが…。

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

質問者からのお礼

ご指摘の通りでした。 言われてみればその通りなのですが、トラブル中の頭では思いもよりませんでした。 ありがとうございました。

関連するQ&A

  • MySQLパフォーマンスについて

    MySQLでレプリケーションを行っております。 例えば マスター1台で スレーブ10台のサーバへレプリケーションをおこなっているとした場合 1.マスターへの負荷はスレーブ1台の時よりかなり増大するものでしょうか?  それとも気にする程でもない程度でしょうか? 2.レプリケーション遅延はスレーブ1台の時より大きくなりますでしょうか? もちろんいろんな状況によって変化するとは思いますが 一般的に考えて、もしくは私見でもよいのでお教え頂けますでしょうか。 MySQLバージョン:5.5.15 1日のページビュー:500万PV 同時アクセス数:200 select と insert,update の比率は同じくらいです。

    • ベストアンサー
    • MySQL
  • MySQLのデータをrsyncしてもうまくいかない

    サーバーAとサーバーBがあって、 rsyncで、サーバーBのMySQLのvarディレクトリ内をサーバーAと同じにしているのですが、 実際にSELECT文などで確認すると、同じになっていません。 このやり方は、不可能なのでしょうか? レプリケーションは使わない方向で、行きたいのですが。。。 ご教授、宜しくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLの外部からの接続について

    過去ログを拝見し、いろいろ対処を試みたのですが解決に至らないので質問させていただきます。 LAN上のWindowsXPマシンからLinuxホストマシンで動作するMySQLにODBC接続したいと考えています。 (ODBC接続ツールはインストール済み) まず外部接続可能なユーザーを以下の手順で作成しました。 #mysql -u root -p Enter password: ********* mysql>GRANT ALL PRIVILEGES ON *.* TO <ユーザー名>@% -> IDENTIFIED BY '<パスワード>' WITH GRANT OPTION; またホスト側の状態は以下のようになっています。 #mysql -u <ユーザー名> -p -h 127.0.0.1 mysql> #netstat -an | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN #netstat -a | grep mysql tcp 0 0 *:mysql *:* LISTEN unix 2 [ ACC ] STREAM LISTENING 4305783 /var/lib/mysql/mysql.sock unix 3 [ ] STREAM CONNECTED 4305801 /var/lib/mysql/mysql.sock unix 3 [ ] STREAM CONNECTED 4305798 /var/lib/mysql/mysql.sock にもかかわらず、WindowsXP側から接続を試みると以下のとおり失敗してしまいます。 #mysql -u <ユーザー名> -p -h <ホストIP> Enter password: <パスワード> ERROR 2013 (HY000): Lost connection to MySQL server during query ODBC接続 request returned sql error 原因、対処法などご存知の方ご教示くださいm(_ _)m

  • MySQLが起動しない

    このテーマの質問はいくつもあるのですが、解決に結びつくものがなく困っています。 もともと正常に動いていたのですが、再インストールしたところ起動しなくなりました。 再インストールは「yum -y install mysql-server」で行いました。 いろいろと試してはいるのですがうまくいきません。 どなたかお分かりの方がいらっしゃいましたら、ご教授いただけますでしょうか。 よろしくお願いします。 --------------------------  エラーログ -------------------------- 110709 16:46:38 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 110709 16:46:38 [Note] Plugin 'InnoDB' is disabled. 110709 16:46:38 [Note] Plugin 'FEDERATED' is disabled. 110709 16:46:38 [ERROR] Unknown/unsupported storage engine: InnoDB 110709 16:46:38 [ERROR] Aborting 110709 16:46:38 [Note] /usr/libexec/mysqld: Shutdown complete 110709 16:46:38 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended --------------------------  my.cnf -------------------------- [mysqld] skip-innodb max_connections=30 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock bind-address=127.0.0.1 # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 [mysql.server] user=mysql sort_buffer=512 net_buffer_length=8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid --------------------------  php.ini (一部抜粋) -------------------------- mysql.default_socket = mysql.default_host = mysql.default_user = mysqli.default_port = 3306 --------------------------  サーバー環境 -------------------------- OS: Red Hat Enterprise Linux ES release 4 MySQL: MySQL: 5.5.9-2 [ファイル構成] /var/run/mysqld/mysqld.pid /var/lib/mysql/mysql.sock ※上記のファイルは所定のディレクトリだけでなく、サーバー上に存在しません。 /var/lib/mysql  -mysql/  -performance_schema/  -test/

  • mysql データベースを別のサーバへインポート

    サーバAで作成したmysqlデータベースをサーバBへコピーしたいと考えております。 サーバAの /var/lib/mysql/mysql のフォルダごとコピーし、サーバBへ移してフォルダを上書きしたのですが、上書きされておらず、デフォルトのままでした。 mysqldump mysql -p > mysql でmysqlデータベースをエクスポートし、 mysql -uroot -p -D mysql < mysql インポートを試みたのですが、すでにmysqlデータベースが存在し、中にデフォルトの空ではないテーブル(user, colums_priv等) が存在するためにインポートすることができませんでした。 ERROR 1050 at line 11: Table 'columns_priv' already exists サーバAで新たに追加したユーザ、また privileges をサーバBへコピーするにはどうすれば良いのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • apache2.0でのmod_encoding

    Webを見ていると下記のファイルをダウンロードし、コマンドを打つとかいてあります。 mod_encoding-20020611a.tar.gz mod_encoding.c.apache2.20020611a $ tar -zxvf mod_encoding-20020611a.tar.gz $ cd mod_encoding-20020611a/lib $ ./configure $ make $ su root # make install ファイルを解凍してもconfigureファイルはもちろんその他のソースコードがありません。(lib内には2ファイルあります。) 本家からダウンロードしたのですが。。。 mod_encodingをコンパイルし、使用するにはどのようにしたらいいのでしょうか?

  • ubuntuでバックアップデータをメールに添付して送りたい

    バックアップしたデータをtar.gz形式にしたものを、メールに添付して外部へ送りたいと考えているのですが、うまくいきません。 コマンドラインより /usr/bin/uuencode /var/www/backup/data.tar.gz sdata.tar.gz | mail -s 'backup' test@test.co.jp のような形で実行すると、エラーメッセージもでないのですが、メールも届きません。 そもそも、メールが届く環境を構築できているのかすらわからなくなってきてしまいました。 コマンドラインよりどのようなコマンドを打てば確認できますか? 初歩的な質問ですみません。

  • レプリケーション

    MySQLでスレーブ・マスターの設定をしてレプリケーションができたと思いますが、サーバ等がダウンした際にスレーブ・マスターの関係を逆転させること(今までスレーブだったのをマスターにして、マスターをスレーブに)は出来ますか? 2台のWEBサーバにそれぞれDBが乗っかっていて、マスターサーバがダウンした際にはDBも切り替えを行いたいのですが・・・ よろしくお願いします。

    • ベストアンサー
    • MySQL
  • PHPからMySQLへのクエリの振り分け方法

    LAMP構成のWebアプリケーションでのDBサーバ増設について質問です。 今までDBサーバ(MySQL)1台で運用していたのですが、 1台増設してレプリケーションを行うことになりました。 DBサーバ1:マスター(新設) DBサーバ2:スレーブ そこで、PHPスクリプトを全面的に見直して、以下のように DBへのコネクション部分を変更する必要が出てきました。 ・コネクション中に一度でも更新系のクエリを発行する場合はマスターへ ・それ以外はスレーブへ これをインクルード先まで追って調査するのは現実的ではないため、 一括で振り分ける方法を探しています。 雑で申し訳ありませんが、環境は以下の通りです。 PHP 5.1.6 (cli) PEAR::DB(1.7.13) MySQL 4.1.22

    • ベストアンサー
    • PHP
  • mysqlが起動しなくなってしまった

    サーバーとしてRed Hat Linuxを使用しているのですが、 先日OSの再起動を行った所、mysqlが起動しなくなってしまいました。 ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/m ysql.sock' (2) と表示されるので http://www.hi-ho.ne.jp/tsumiki/book_sup2.html 等を参考にしてみたのですが、 ソケットファイルが存在せず、 再作成のためのmysqlの再起動も出来ない状態です。 safe_mysqld --user=mysql & を実行すると Starting mysqld daemon with databases from /var/lib/mysql 060908 mysqld ended と表示されます。 mysqlのバージョンは3.23.58を使用しております。 手を尽くしてみたのですが、どうしてもわからず、 お力を貸していただきたいと存じます。 宜しくお願いします。