できるだけ詳しく教えてください。
現在MT3.34のセットアップ中なのですが
Got an error: データベース接続の設定に誤りがあります: エラーが発生しました: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
こんなエラーが出ています。
おそらくDBに接続する際のエラーだと思っています。
パスワードの前にまず、エラーメッセージから見てsocketの設定がおかしいように思います。
http://www.hi-ho.ne.jp/tsumiki/book_sup2.html
ここに詳しい解説が載っていますので一度確認していただけますでしょうか?
mysqlのsocketのパスか合っていないためだと思います。
phpMyAdminが動いているようなので、phpMyAdminからMySQLのシステム変数からsocket(下の方)でパスが確認できます。
http://www.skyarc.co.jp/engineerblog/entry/2933.html
ここを参考にmt-config.cgiの
DBSocket /パス/mysql.sock
を設定してみてはどうでしょう。
>phpmyadminでDBをあらたに作成した際にパスワードはどのように設定するのでしょうか。
mysqlではdatabaseではなくユーザー権限で制限しますのでユーザーのパスワードが使われます。
新たに作成したdatabaseが使えるかどうかは、そのユーザーの権限がどうなっているかで異なります。
http://dev.mysql.com/doc/refman/4.1/ja/grant.html
グローバルレベルであれば新たに作成したdatabaseが使えますがデータベースレベルであれば特定のdatabaseにしか権限がないので新たに作成したdatabaseにはアクセスできないでしょう。
詳細な説明ありがとうございます。
ご回答の内容に関して更にご教授お願いできればと思います。
1)DBSocket /パス/mysql.sock
上記はmt-config.cgiのどこに設定するので
しょうか。
http://www.skyarc.co.jp/engineerblog/entry/2933.html
上記URLの中の説明文なのですが
locate mysql.sock
上記はコマンドを打つという事なのでしょうか?
phpmuadminのsocketの場所と、実際に動作しているmysqlのsocketの場所が違うか、my.cnfのsocketが違うようです。
パスワードは、ユーザを作り、パスワードを設定し、そのユーザがそのDBのどこまで利用できるかというようにするのが一般的かと思います。
my.cnfとはどこの設定ファイルなのでしょうか。
>上記はmt-config.cgiのどこに設定するのでしょうか。
何処でも問題ないと思います。
がDBPasswordやDBHostの近くの方が後々わかりやすいとおもいます。
http://honana.com/movable_type
(ちょっと長いですが真ん中あたりを参考に)
>locate mysql.sock
>上記はコマンドを打つという事なのでしょうか?
そうです。MTをレンタルサーバなどに設置しているのであればsshが使えないとコマンドを使えないでしょうが、ようするにmysqlのソケットの位置(パス)を探すということなので、同じことがphpMyAdminで「MySQLのシステム変数」をクリックして下の方までスクロールしていけばsocketがあるはずです。そこにmysqlのsocketのパスがあります。
詳しい説明がありますね。
ありがとうございました。