MySQL3のインストール
MySQL3系は、3.23.58(2003-11-15)のリリースを最後に配布が終了されました。現在入手することはできません。
2008年3月現在、入手可能な古いバージョンは 4.1.22 です。
MySQL3の入手
- MySQL Product Archives ダウンロードページ
- 各OS用のMySQLがおいてあります。「 Microsoft Windows 」という記述下の 「 Microsoft Windows . (ZIP format) 」をクリックすると、インストラー付きのMySQLがダウンロードされます。
インストール手順
MySQL にはインストーラが付属していますので、表示されるガイダンスに従って進んでいくだけでインストールは完了します。あと実際に使うために少々初期設定が必要です。テキストを編集したり、DOS窓からコマンドを打ったりしします。
- ダウンロードした、「mysql-3.23.58-win.zip」 を任意のフォルダーに解凍する。
- 解凍された「mysql-3.23.58-win」フォルダー内の、「SETUP.EXE」をダブルクリック。
- インストーラが起動。
- 「Welcome」では、[Next>]をクリック。
- 「Infomation」では、[Next>]をクリック。
- 「Choose Distination Location」では、[Browse...]をクリックし、「Path:」に「c:\usr\local\mysql」を指定し、[Next>]をクリック。
- 「Setup Type」では、「◎Typical」を選択し、[Next>]をクリック。
- インストール実行中。しばらく待つ。
- 「Setup Complete」が表示されたら、「Finish」をクリック。
- 完了。
my.ini の作成
「my.ini」は MySQL の初期設定ファイルです。MySQL の起動時に必要なファイルなのですが、上記インストールでこのファイルは作成されません。
テキストエディタで以下のテキストを入力し、「my.ini」という名前で、「C:\WINDOWS」下に保存してください。
[mysqld] basedir=C:/usr/local/mysql datadir=C:/usr/local/mysql/data
MySQL付属のGUI管理ツール「winmysqladmin.exe」を一度起動させても同等のファイルが作成されますが、Windows のスタートアップに登録するなど必要でない設定も行なわれます。ここでは、必要な時だけ起動させたいので上記の方法で my.ini を作成します。
Windowsサービスへの登録
MySQL というプログラムは、サーバーコンピュータのサービスとして利用されることを前提にしてあるようです。一度サービスに登録さえしておけば、MySQL のサービス開始と終了を、Windows から行なえるようになります。
- DOS窓(コマンドプロンプト)を開きます。
- DOSプロンプトに続いて 「CD \usr\local\mysql\bin」と入力し、[Enter]を押します。
- 「mysqld-nt --install-manual」と入力し、[Enter]を押します。
- 「Service successfully installed.」と表示されれば登録完了です。
正常に終了すれば、こんな表示になってるはずです。((2)(3)(4)は上記手順番号)
Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\>cd \usr\local\mysql\bin (2) C:\usr\local\mysql\bin>mysqld-nt --install-manual (3) Service successfully installed. (4) C:\usr\local\mysql\bin>
DOS窓は開いたまま、次の操作確認に進みます。
動作確認(MySQLサービスの開始と終了)
DOS窓に、(1)サービス開始、(2)MySQL稼動中確認、(3)サービス終了のコマンドを打って動作確認をします。順番に行なってエラーが出なければOKです。
(1)サービス開始(「net start mysql」と入力し[Enter])
C:\usr\local\mysql\bin>net start mysql MySql サービスを開始します. MySql サービスは正常に開始されました。
(2)MySQL稼動中確認(「mysqladmin ping」と入力し[Enter])
C:\usr\local\mysql\bin>mysqladmin ping mysqld is alive
(3)サービス終了(「net stop mysql」と入力し[Enter])
C:\usr\local\mysql\bin>net stop mysql MySql サービスを停止中です. MySql サービスは正常に停止されました。 C:\usr\local\mysql\bin>
エラーが出ることなくここまで来た方は無事動作確認完了です。これで MySQL が利用できる環境になりました。
もしエラーが出る場合は、my.ini の記述が間違っているか、すでに MySQLが稼動中かもしれません。WinMySQLAdminなどが起動中の場合は、タスクトレイに信号機のアイコンがあるはずです。終了させてから行なってみてください。
ここではPHPのお勉強用に MySQL を使うだけなので、以下のユーザーとパスワードの設定は絶対必要!というわけではありませんが、MySQL を理解する・慣れるという意味でやってみることをオススメします。ご一読頂き必要ないと思われる場合は、DOS窓を閉じて次の「初期設定」にお進みください。それ以外の場合は、DOS窓は開いたまま下の「root ユーザーのパスワード設定」に進んでください。
root ユーザのパスワード設定
MySQL は、Windowsのユーザ管理とは別に、独自のユーザ管理を行なっています。MySQLサーバにアクセスしてデータの観覧や登録・削除をおこなう際は、必ずユーザ名とパスワードでログインしてからになります。
MySQL にははじめから特別なユーザ「root」が存在ています。全ての権限を持つサーバ管理者専用のユーザで、インストールしたばかりの状態ではパスワードは何も設定されていません。これでは誰もが root ユーザとしてデータベースを好きなように操作出来る状態です。
このMySQLサーバの管理者はあなた自身ですので、まずは root ユーザのパスワードを設定しましょう。
尚、root ユーザーのパスワードを忘れてしまった場合確認する術がありません。MySQL を再度インストールしなおさなければならなくなりますので絶対に忘れないようにしてください。
パスワードを設定するには MySQLのCUI管理ユーティリティ「 mysqladmin.exe 」を使います。再び net コマンド (1) を打ってあらかじめ MySQLサービスを再開しておきます。
(2) のコマンドを打って rootユーザのパスワードを設定します。「 MyPassword 」のところが設定するパスワードですので、ここを任意のパスワードに置き換えてください。
C:\usr\local\mysql\bin>net start mysql (1) MySql サービスは正常に開始されました。 C:\usr\local\mysql\bin>mysqladmin -u root password MyPassword (2) C:\usr\local\mysql\bin>
何も問題が無ければ DOSプロンプトが表示されます。これで rootユーザのパスワードが設定されました。これ以降 MySQLサーバにアクセスする際は、root と MyPassword でログインしてから操作をおこないます。
匿名(名無し)ユーザの削除
インストールしたばかりの状態では、root ユーザの他にもうひとつ、匿名(名無し)ユーザが存在します。権限こそ制限されているものの誰でも MySQLサーバにアクセスできてしまう状態です。そこでSQL文を使ってこの匿名ユーザを削除します。
先ずは (1) のコマンドを打って、先ほど設定した rootユーザ&パスワードで MySQLサーバに接続(ログイン)します。
「 -p 」と「 MyPassword 」の間にスペースを入れてはいけません。
認証が通れば「Welcome to the MySQL monitor.・・・」に続いて MySQLのプロンプトが表示されます。
C:\usr\local\mysql\bin>mysql -u root -pMyPassword (1) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 3.23.xx-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
続いて (2) の use 文を打ちます。これによって以降の操作がデータベース「mysql」に対するものである事を指定しています。データベース「 mysql 」は、MySQLそのものを管理するためのデータベースです。
成功すれば「 Database changed 」が表示されます。
mysql> use mysql; (2)
Database changed
mysql>
SQL文には読みやすいよう改行を入れることができます。「Enter」キーは改行を入れるキーとなります。SQL文の最後に「;(セミコロン)」を入力し「Enter」キーを押してはじめてMySQLサーバにSQL文が送信されます。
(3) の delete 文を打って匿名ユーザを削除します。「Query OK, ・・・」のメッセージが出れば削除成功です。
mysql> delete from user where user=''; (3)
Query OK, 2 rows affected (0.06 sec)
mysql>
(4) のselect文を打ってユーザが root だけになっていることを確認します。
mysql> select host, user, password from user; (4)
+-----------+------+------------------+
| host | user | password |
+-----------+------+------------------+
| localhost | root | 45e719567f375e73 |
+-----------+------+------------------+
| gcw | root | |
+-----------+------+------------------+
2 row in set (0.00 sec)
mysql>
あれ?確かにユーザーは root だけのようですが、host が gcw で、パスワードの無いものがあります。これは、サーバーが用意したリモートアクセス用のホスト名のようです。バージョン4以後はこれが「%」となっています。全ての権限を持っているrootユーザだけに匿名ユーザーよりも怖いですね。
お勉強用のMySQLサーバなのでリモートアクセス用のrootユーザは削除してしまってもいいですが、SQLに慣れるため grant 文をつかってこのパスワードを設定してみましょう。
(5) の grant 文を打ちます。「 MyPassword 」の部分が設定するパスワードですので任意のものに置き換えてください。
grant 文がOKなら「Query OK, ・・・」のメッセージが表示されます。
mysql> grant all privileges on *.* to root@gcw identified by 'MyPassword' with grant option; (5) Query OK, 0 rows affected (0.03 sec) mysql>
最後にもう一度 (6) の select 文を打って root ユーザのパスワードが設定されたことを確かめておきます。
mysql> select host, user, password from user; (6)
+-----------+------+------------------+
| host | user | password |
+-----------+------+------------------+
| localhost | root | 45e719567f375e73 |
+-----------+------+------------------+
| gcw | root | 45e719567f375e73 |
+-----------+------+------------------+
2 row in set (0.00 sec)
mysql>
以上で、MySQLのユーザーとパスワードの初期設定は終わりです。最後に MySQL終了コマンド (7) と、MySQLサービス停止コマンド(8) を打ってから、「exit」(9) または、ウィンドウ右上の[×]をクリックしてウィンドウを閉じてください。
mysql> \q (7) Bye C:\usr\local\mysql\bin>net stop mysql (8) MySql サービスを停止中です. MySql サービスは正常に停止されました。 C:\usr\local\mysql\bin>exit (9)
インストールから初期設定、MySQLの勉強も兼ねてコマンドラインツールや SQL 文もいくつか使ってみました。以下に挙げたコマンドだけは最低限覚えてしまいましょう。
MySQLサービスの登録 mysqld-nt --install-manual MySQLサービスの解除 mysqld-nt --remove MySQLサービス開始 net start mysql MySQLサービス停止 net stop mysql MySQL稼動中の確認 mysqladmin ping rootユーザのパスワード設定 mysqladmin -u root password [パスワード] MySQLサーバにログイン mysql -u [ユーザー名] -p[パスワード] MySQLサーバからログアウト \q
また PHP から MySQLサーバにアクセスする時は、ここで設定したパスワードを使いますので忘れないように。
ホスト名 : localhost ユーザー名: root パスワード: MyPassword(自分が設定したパスワード)
次は、各プログラムの設定をおこないます。
