2010.05.06

FAQ 『標準MySQL 改訂第3版』

標準MySQL 改訂第3版



 以下の10の質問にお答えします。



質問1:DBD-mysqlが導入されません

質問2:Apacheが再起動できず

質問3:p267、db_form_xxx.htmlでの文字化け

質問4:WindowsXP HomeEditionでPerl PackageManagerを起動できず

質問5:「Hello Java!」の出力確認できず

質問6:./configure実行できず

質問7:Linuxでのインストール不具合

質問8:webapps以下のディレクトリに関し

質問9:Windows Vistaにおける、MySQLとApacheの不具合

質問10:Javaサーブレットの不具合




■質問1:DBD-mysqlが導入されません

 p63~p65のPerlのインストールにおいて、付録CD-ROMからDBD-mysqlが導入されません。



■回答1:

 DBD-mysqlがインストールできない場合はコマンドプロンプトを開いて、以下のコマンドを入力してみてください。



C:> ppm install DBD-mysql.ppd



 また、上記でもできない場合は以下のアドレスよりDBD-mysql-3.0002.zipをダ

ウンロードします。



http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/



 C:tmpなどに解凍後、コマンドプロンプトを開いて、以下のコマンドを入力して

ください(以下はC:tmpに移動後インストールの例)。



C:> cd c:tmp

C:tmp> ppm install DBD-mysql.ppd



 上記の手段であれば問題なくインストールできると思います。




■質問2:Apacheが再起動できず

 60ページのworkers.propertiesを設置するところまで進みましたが、その後

Tomcatは再起動できますが、Apacheが再起動できませんでした。

 ちなみに59ページの"Include conf/mod_jk.conf"の追加は、単に"~Configuration File"の最後の行に記述するだけでよいのでしょうか?



■回答2:

 まず、p59の"Include conf/mod_jk.conf"の追加ですが、Apache設定ファイル(C:

Program FilesApache GroupApache2confhttpd.conf)の最後の行にそのまま追記してください。設定ファイルを変更した場合は、Apacheの再起動を忘れずに行ってください。



 p56のTomcatテスト画面が正常に表示されるようであれば、原因はApacheとTomcatの連携にあるのかもしれません。p58の2-2-5「ApacheとTomcatを連携させる」の設定が正しく行われているかどうか、ご確認ください。



 また、本書で使用しているアプリケーション(付属CD-ROMに収録)をご使用でな

い場合は、CD-ROMのアプリケーションを導入してテストしてみてください。



 もしどうしても連携がうまくいかず、テストを実行したい場合は、連携させずに実行させる方法もあります。その場合は、テストの際にアドレスを「http://localhost:8080」のように、ポート番号8080をつけて動作させてください。




■質問3:p267、db_form_xxx.htmlでの文字化け

 p267のdb_form_xxx.html で「データ参照」(全件表示)を起動すると、ID、店名、住所は表示されますが、MySQLから読み出し表示されるところで、数字以外は文字化けしてしまいます。



■回答3:

 ページ内に記載されている文字が化けていないのであれば、MySQLに格納された

文字が文字化けして格納されていたり、MySQLに格納された文字がページ出力のキャラクタセット(UTF-8)と異なっているため文字化けしている可能性があります。



 コマンドプロンプトを開き、以下のコマンドでmysqlクライアントからMySQLに格

納された文字列のキャラクタセットを確認してみてください。



mysql> select charset(name_c) from list_t;



 utf8であれば、list_tテーブルのデータを表示させ、文字化けして格納されていないかをご確認ください。



 utf8が表示されなければ、UTF-8のキャラクタセットでデータが格納されていないので、再度データの追加をやり直してください。



 データが正常でない場合、本書に付属のCD-ROMのSamplesフォルダChapter6に格

納されているchp_6_1_4.sqlをc:において、list_tテーブルを削除後、コマンドプロンプトより以下のコマンドを実行してください。



C:>mysql -u root -psecret shop_db < c:/chp_6_1_4.sql




■質問4:WindowsXP HomeEditionでPerl PackageManagerを起動できず

 p65~66に記載の「2-3-2.PerlDBI、DBD-mysqlモジュールをインストールしよう」の項に関しての質問です。WindowsXP HomeEditionで学習しています。



 p66の「1.PerlPackageManagerの起動」に記載の手順に沿ってPerl PackageManagerを起動しようとしていたのですが、起動できませんでした。書籍ではWindowsXP Professionalで動作検証されていますが、WindowsXP HomeEditionでは使えないのでしょうか。



■回答4:

 Perl Packeage ManagerはWindowsXP HomeEditionでも使用できますが、Windowsの環境変数にPerl Packeage Managerのあるフォルダへのパスが設定されていない場合、そのままでは起動しません(インストールの際に「Choose Setup Options」画面で「Add Perl to the PATH environment variable」にチェックを入れると、環境変数に追加されます)。



 Perlをインストールしたフォルダに移動して(本書ではC:Perlbin)、下記のppmコマンドを入力してください。



C:Perlbin>ppm



 Perl Packeage Manager画面が表示されることを確認できたら、本書p55の記載を参考に、「システム環境変数」のPATHに「C:Perlbin」を追加後、コマンドプロンプトを新たに開き、ppmコマンドを入力してみてください。



 もし、Perl Packeage Manager画面が表示されない場合はPerlのインストールをやり直してみてください。




■質問5:「Hello Java!」の出力確認できず

 セットアップ中、p62の「Hello Java!」の出力確認で、"The requested resource (/java/Test) is not available."のエラーが発生してしまいます。Tomcat/Apacheの再起動、OS再起動しても変わりません。



 なお、プログラムはWebからダウンロードしているため、若干バージョンが異なります。



■回答5:

 お問合せのエラーですが、再度付録CD-ROMのプログラムで試したのですが、とくにこちらでは問題は再現されませんでした。

 ファイルに目に見えないゴミコードのようなものが入っている可能性もあるため、まずは、関連のスクリプトファイルを付録CD-ROMからコピーして試していただけますか。



 それでもうまくいかない場合は、Tomcatのバージョン違いによる影響かも知れません。

付録CD-ROMのプログラムでお試し下さい。




■質問6:./configure実行できず

 p81の4.コンパイルの設定のところで./configureを実行しようとすると、「ファイルやディレクトリがありません」と出ます。どのような原因があるのでしょうか? 本書に書かれている¥マークですが、コマンドとして入力すると全角でしか入力できず、意味がよくわかりません。



■回答6:

 p81の4.コンパイルの設定でのコマンドの入力方法ですが、「」の記載のある部分は半角の状態でキーボードの「」(バックスラッシュ)を入力してください。(画面上では半角の「\」で表示されます。)



 ターミナル画面内でバックスラッシュを入力すると、表示上改行され、コマンドの入力がやりやすくなります。もしうまくいかないようでしたら、「」は入力せずに、改行することなあくコマンドを入力していってください。



 上記入力方法を守ることで、コンパイルはできるはずです。




■質問7:Linuxでのインストール不具合

 Linux環境で、付録CD-ROMからMySQLのインストールを試みています。p76のMySQLの起動のヶ所で下記のエラーが出ます。



Starting mysqld daemon with databases from /var/lib/mysql

STOPPING server from pid file /var/run/mysqld/mysqld.pid

070420 17:51:42 mysqld ended



■回答7:

 MySQLのRPMパッケージがインストールされている可能性がありますので、本書p75のインストールパッケージの確認、削除を試し、再度インストールを試みてください。



 また、本書で設定したものと異なる設定ファイル(my.cnf)を読み込んでいる場合もあります。/etc/my.cnfが作成されていたら、それを削除し、本書p97の手順で新しく設定ファイルを作成してみてください。




■質問8:webapps以下のディレクトリに関し

 p84の環境変数の設定を行っています。CLASSPATHに関して、表の最下行に「webappsjavaWEB-INFclasses」とありますが、webapps以下にjava以下のディレクトリが見あたりません。webapps以下には、ROOTとtomcat-docsの2つしかありません。



■回答8:

 先にパスを設定をしているので、わかりずらいかも知れませんが、p86の3-2-4 「Webアプリケーションを配備する」でjavaディレクトリ以下を作成しています。本書のまま設定し、読み進めてみてください。




■質問9:Windows Vistaにおける、MySQLとApacheの不具合

 付録CD-ROMからMySQLとApacheをinstallしたところ、次のような問題に突き当たりました。



●MySQLに関し

 インストール後、書p42に従って、my.iniを修正し、保存しようとしたところ、「MySQL Server5.0my.iniを作成できません」とメッセージが表れ、上書き保存を拒否されます。



●Apacheに関し

 インストール後Apacheを起動すると「指定されたファイルが見つかりません No installed service named "Apache2"」が出て起動できません。



 OSはWindows Vista Home Premium です。



■回答9:

 Windows VistaではProgram Files以下のiniファイルを変更できないようになっているようです。



 my.iniファイルを別の場所にコピーして、変更後、上書きすることでファイルの内容を変更できます。



 もしくはProgram Files以下の場所以外の場所にMySQLをインストールしてください。ファイルを変更後、必ずコントロールパネルの管理ツールにある「サービス」から、MySQLプログラムを再起動してください



 Apacheのエラーは、「ユーザーアカウント制御(UAC)」が原因であると思われます。インストール時に一時的にUACを解除することによりインストール可能です。



 コントロールパネルよりユーザーアカウントの「ユーザーアカウント制御の有効化または無効化」により、UACを解除してインストールしてください。インストール後は再度有効化しておくことをお勧めします。




■質問10:Javaサーブレットの不具合

 書籍の通りに進め、Javaサーブレットテストプログラム(Test_my_java.java)は正常に動作しました。そこで、HTMLフォームからDBを操作するための各種設定(web.xmlの編集等)も行い、p288のようにjavaファイルをコンパイルしたのですが、エラーが発生します。



 Select.javaで「シンボルを見つけられません。シンボル:クラス QueryBean 場所:samples.SelectのクラスQueryBean qbean=null;」と「シンボルを見つけられません。シンボル:クラス QueryBean 場所:samples.Selectのクラスqbean=new QueryBean();」というエラーメッセージが発生します。他のjavaファイルに関しても同様の箇所がエラーになります。



■回答10:

 QueryBean.javaがjavaファイルをコンパイルするフォルダにないためと思われます。以下の場所にQueryBean.javaがあるかどうかご確認ください。



C:Program FilesApache Software FoundationTomcat 5.5webappsjavaWEB-INFclasses

samples



 ない場合は、CD-ROM(SamplesChapter66-3)よりコピーして再度コンパイルを試してください。