MySQL+PHPなどなど インストール memo

2005年3月26日
http://www.s-m-l.org
Suns & Moon Laboratory

はじめに

Delphiからアクセスする都合で、MySQL4.1などなどを入れてみます。

MySQL4.0をアンインストール

プログラムの追加と削除からアンインストール... したんですが、サービスが削除されません。 しかたないので、もう一台インストールしているマシンから4.0のフォルダ丸ごとコピーして 持ってきて、下記コマンド実行。
C:\mysql\bin\>mysqld-max-nt --remove MySQL
その後C:\mysql\bin削除

MySQL4.1インストール

MySQL4.1.9インストール
サービスさえ削除していれば、普通に入ると思います。
UTF-8で設定。

MySQL設定

ユーザーの確認

スタートメニューから『MySQL Command Line Client』を起動して、rootしかいない事を念のため確認する。
mysql>select host,user,password from mysql.user;

パスワード形式を4.0にする

C:\Program Files\MySQL\MySQL Server 4.1\my.iniに追記 [client]の前に追加してみました。
[mysqld-4.1] old-passwords
サービス再起動して『MySQL Command Line Client』から、下記コマンドで[old_passwords]がONになっている事を確認。
mysql>show variables;
この後にユーザを追加すると、パスワード長が短くなる。
mysql>grant select,insert,delete,update,create,drop,file,alter,index on *.* to username identified by 'passwords'; mysql>flush privileges;
参考: MySQL導入メモ ちょっと古いですが。

PHP5インストール

PHP5.0.3をインストール。
PEARも入れる。
go-pear.bat

php.ini変更

gd2は画像いじる用
exifはjpegのexif読む用※exifより先にmbstringを記述する。そうしないとロードに失敗する。(PHP4.3.10では順番いじらなくても大丈夫でした)
mysqlはMySQLの為
mbstringは文字列の処理に必須(2バイト圏では必須)。ちなみに設定しとかないとphpMyAdminにも文句を言われる。
extension=php_mbstring.dll extension=php_exif.dll extension=php_gd2.dll extension=php_mysql.dll

phpMyAdminインストール

phpMyAdmin2.6.1インストール。

phpMyAdmin2.6.1のバグ

2.6.1-pl3では修正済みです。

phpMyAdmin\lang\japanese-utf-8.inc.phpをちょいとパッチあてる。
あてないと『 Call to undefined function: pma_reloadnavigation()』とかエラーが出る。
$charset = 'UTF-8' ↓ $charset = 'utf-8'
参考:[ 1111855 ] (in 2.6.2) "Undefined index" with Japanese lang file google→2ch経由で到達

それから、一般的?にはMySQL4.1にはmysqliを使わんとダメとか書いてあるけれども、mysqlのままでも動いてます。うぅむ?

Smartyインストール

ちょいと要りようなので入れます。 解凍してphp.iniのインクルードパスを設定するだけ。

動作確認

UTF8でエクスポートしておいたデータベースをphpMyAdminでインポート
phpMyAdminでは漢字が化ける。
コマンドラインでは漢字が化ける。
PHP経由でデータベースをアクセスして表示(EUC)すると、正しく表示される。登録も上手くいく。なぜ?

実は上記はphpの方でmbstring入れて無い状態でやってました。ダメじゃん
改めて、前回のデータベースを削除→紹介順序をujis※1でデータベース作成→EUCでエクスポートしたデータをインポートで問題なくなりました。
今度は、コマンドラインから「SET CHARACTER SET sjis」とやってからデータベースをアクセスすると、ちゃんと日本語が表示されました。一応目的達成。
そうそう、Delphiからもちゃんといけましたよ。めでたしめでたし。

注釈

※1 MySQLではujis→EUC-JP japanese,sjis→Shift-JIS japaneseとなっている。
参考: MySQL リファレンスマニュアル :: 9.11.4 アジアのキャラクタセット

おまけ:MySQLコマンドライン

ログイン。パスワードを入力せずにリターンを押すと、次の行で入力する事になる。
mysql.exe -u {username} -p Enter password: *****
とりあえず動作確認
show databases; +----------+ | Database | +----------+ | mysql | +----------+

Home→MySQL+PHPなどなど インストール memo
Suns & Moon Laboratory http://www.s-m-l.org