2009年2月14日土曜日

windowsxp sp3 で mysql を 手動で設定する

[やりたいこと・しりたいこと]
windowsxp sp3 で mysql を 手動で設定する


[なぜ そうするのか?]
MySQLInstanceConfig.exeで設定するとMySQLInstanceConfig.exeが応答しなくなり、install に 失敗する


[環境]
WindowsXP SP3 on VMware
mysql-essential-5.0.67-win32.msi



[やったこと・わかったこと]

1. mysql の install

custom install する

install 先は C:\mysql とする

MySQLInstanceConfig は使用しないで終了


2. windows firewall の設定

port 3306 を open


3. 環境変数の修正
c:\mysql\bin の追加
システム再起動


4.1 mysql の 手動設定

mysqlの動作確認

コマンドプロンプトA
コマンドラインから起動
>cd c:\mysql\bin
>mysqld-nd --console

コマンドプロンプトB
クライアントを使って ログイン
>mysql

コマンドプロンプトB
ためしに コマンドを実行
show databases;

コマンドプロンプトB
ログアウト
exit

コマンドプロンプトB
コマンドラインから終了
>mysqladmin -u root shutdown

コマンドプロンプトA
mysqld-ntが終了していることを確認


4.2 my.iniの作成
コマンドプロンプトを開く


>cd c:\mysql\bin
>copy my-small.ini my.ini


my.iniの修正
セクション[mysqld]
38行目に以下2行を追加

basedir=C:\\mysql
datadir=C:\\mysql\\data


4.3 サービスとして登録
>mysqld-nt --install mysql --defaults-file=C:\mysql\my.ini

サービスの開始
>sc start mysql

サービス停止
>sc stop mysql

サービスを削除
>sc delete mysql


5. rootのパスワードをhogeにする
>mysql -u root
mysql> SET PASSWORD FOR root@localhost=PASSWORD('hoge');
mysql> exit

rootのパスワードをhogeでログインする
>mysql -u root -p


[注意点・はまった箇所]

3. の再起動を忘れると sc start mysql で 起動できない

5. のrootのパスワードをhogeにするとき mysql だけでログインしていると access denied になる


[参考]

http://webtech.akijapan.com/mysql/mysql5.0/install.phtml

http://d.hatena.ne.jp/benikujyaku/20070104

http://d.hatena.ne.jp/picas/20080130/1201702318

http://d.hatena.ne.jp/yzn/20060922/p1

http://dev.mysql.com/doc/refman/5.1/ja/windows-troubleshooting.html

http://dev.mysql.com/doc/refman/5.0/en/windows-troubleshooting.html

http://www.kkfactory.net/mt/archives/2008/02/mysqlroot.html