yoku様
ありがとうございます。
>> エラーコード13はPermission
Deniedですが、mysqlクライアントを立ち上げているユーザーはdatadirに書き込み権限ありますか?
>
“mysqlクライアントを立ち上げているユーザー”はMySQLログインユーザなのか、Windowsログインユーザーなのか、どちらを指しますか?
Windowsログインユーザーです。
あとすいません、datadirではなくて"mysqlクライアントを立ち上げたディレクトリ"ですね(絶対パスで書いてあればそのディレクトリ)
MySQLをインストールしたときのWindows Optionsの設定で、
”Include Bin Directory in Windows PATH”にチェックを入れて行いました。
従って、"mysqlクライアントを立ち上げたディレクトリ"はMySQLのインストールディレクトリー(C:\Program
Files\MySQL\MySQL Server 5.5\bin)になっていると思います。
なお、このインストールディレクトリーのWindowsログインユーザーはadministratorsに属しており、その権限はフルコントロールになっており、適用先も「このフォルダー、サブフォルダーおよびファイル」となっています。従って、ここでPermission
Deniedになるのは理解できません。
ちなみに、CREATOR
OWNERの権限は、“特殊なアクセス許可”ですべての権限が許可されていますが、その適用先が「サブフォルダーとファイルのみ」となっていて、「このフォルダー」自体は適用されていません。ただ、この権限は上位の親フォルダーから継承されたもので、適用先を変更することができません。
この状態でCREATOR OWNERがこのフォルダーにファイルを作ろうとすればPermission Deniedになるのかなと思います。
しかし、インストール時のオプション設定やアクセス権限などをteeコマンドが正常に実行できるマスターサーバの環境と比べたところ、同じ設定になっていました。
何がいけないのか、やっぱりわかりません。
どの設定ファイルを読み込んでいるかは、services.mscとかで見ないといけない気がします。
mysqldがどのファイルを読んだかなどという情報は保持されないので、Workbenchがそれを知る方法はない気がしますが。。
(あったらごめんなさい。WorkbenchもWindowsも使わないので。。)
services.mscからMySQLのサービスのプロパティを表示させて、
「実行ファイルのパス」というところを確認します。
mysqldに渡されている--defaults-file=".."オプションで指定されているファイルを読み込んでいます。
指定がなければシステムデフォルトを読んでいるはずです。
↓
どのiniファイルを読み込んでいるかの確認方法を教えていただき、ありがとうございました。
Win7/Windowsの管理ツール/サービスでwindowsサービスとして動かしているMySQLのプロパティを表示させ、
「実行ファイルのパス」を確認したところ、下記のようになっていました。
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld"
--defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" MySQL
一方、Workbenchのadmin画面でのOption fileの「Cinfiguration
File:」に表示されているは、
C:\ProgramData\MySQL\MySQL Server
5.5\data\my_20130208.ini で一致していませんでした。
一方、マスターサーバの環境と比べたところ、マスターサーバでは、
--defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini"
と
Workbenchのadmin画面でのOption fileの「Cinfiguration
File:」に表示されているものが一致していました。
今使用しているWorkbenchは5.2.39 CE Revision 8757です。
Workbenchで設定したiniファイルが読み込まれていないのですかね?
これが原因かもしれません。
早速、スレーブ用のサーバーで以下の手順を試してみます。
(1)MySQLを停止し、
(2)WorkbenchのOption fileの「Cinfiguration File:」をManage Server
Insatances画面でConfiguration Fileの指定を"C:\Program Files\MySQL\MySQL Server
5.5\my.ini"に変更し、
(3)スレーブに必要な設定をしたC:\ProgramData\MySQL\MySQL Server
5.5\data\my_20130208.iniで(1)のmy.iniを上書きし、
(4)MySQLを再起動し、
(5)スレーブ設定をやり直す。
-----Original Message-----
差出人: yoku ts.
日時: 2013年2月15日 18:47
宛先: ml@mysql.gr.jp
件名: [mysql 15933] Re: レプリケーション構築について(長文です)(質問)
こんばんは。
>> エラーコード13はPermission
Deniedですが、mysqlクライアントを立ち上げているユーザーはdatadirに書き込み権限ありますか?
>
“mysqlクライアントを立ち上げているユーザー”はMySQLログインユーザなのか、Windowsログインユーザーなのか、どちらを指しますか?
Windowsログインユーザーです。
あとすいません、datadirではなくて"mysqlクライアントを立ち上げたディレクトリ"ですね(絶対パスで書いてあればそのディレクトリ)
ふと、teeで"パスに許可されていない文字"を渡すと何のエラーが返ってくるんだろう、とか思いました(?とか)
どの設定ファイルを読み込んでいるかは、services.mscとかで見ないといけない気がします。
mysqldがどのファイルを読んだかなどという情報は保持されないので、Workbenchがそれを知る方法はない気がしますが。。
(あったらごめんなさい。WorkbenchもWindowsも使わないので。。)
services.mscからMySQLのサービスのプロパティを表示させて、
「実行ファイルのパス」というところを確認します。
mysqldに渡されている--defaults-file=".."オプションで指定されているファイルを読み込んでいます。
指定がなければシステムデフォルトを読んでいるはずです。
↓
http://dev.mysql.com/doc/refman/5.5/en/option-files.html
2013年2月15日 16:48 ochiai <s.ochiai@taiyokakuchi.co.jp>:
> yoku様
>
> ありがとうございます。
>
>
> -----Original Message-----
> 差出人: yoku ts.
> 日時: 2013年2月15日 15:02
> 宛先: ml@mysql.gr.jp
> 件名: [mysql 15930] Re: レプリケーション構築について(長文です)(質問)
>
> こんにちは、yokuといいます。
>
> master-*のオプションは5.5で廃止されました。
> my.iniやmy.cnfに書き込むとunknown variablesでエラーになります。
> 起動できているとしても、理由は判りませんが。
>
>
http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html#option_mysqld_master-host
>
> 確かにエラーになると書いてありますね。
> ありがとうございました。
>
>
>> mysql> tee ‘ファイル名’
>> C:Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe: Can’t
Create/write
>> to file ‘ファイル名’ (Errcode: 13)
> エラーコード13はPermission
Deniedですが、mysqlクライアントを立ち上げているユーザーはdatadirに書き込み権限ありますか?
>
> リレーログも一度ACLを確認してみるか、RESET SLAVEで再度初めからやり直した方が早いかも知れません。。
>
>
“mysqlクライアントを立ち上げているユーザー”はMySQLログインユーザなのか、Windowsログインユーザーなのか、どちらを指しますか?
>
Windowsログインユーザーはadministratorsグループに属しており、datadirに対してフルアクセス権限を持っており、datadirにファイルを作成したり、書き込んだりダリ、削除もできます。
> MySQLログインユーザの権限が必要とすると、それはCREATOR OWNERのことでしょうか?それとも別ですか?
>
> RESET SLAVE そろそろ試したい気分ですが、もう少し、何がいけなさそうか知りたいと思っています。
> よろしく、お願いいたします。
>
>