mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

WindowsXPにMySQL!

[ サーバ構築, ブログ ] [ MySQL, Windows ]

こんばんは。

今夜は、ふと、Apache2+PHPの導入ができたうちのメインマシン(WindowsXP)にデータベース MySQLを入れたくなったんで、入れてみました。 (実はいずれブログ WordPress を Windows でも使えるようにしたくて)

導入記録

1.アーカイブファイルのダウンロード

MySQLサイトの ダウンロードページ から Windows 用の “Without installer” ファイルをダウンロードします。 (当記事執筆時点での最新は 5.1.31 でした) ※今回は、 「 Windows Essentials (x86) 」 や 「 Windows MSI Installer (x86) 」 のインストーラは使用せず、ZIPファイルをダウンロード後解凍して設定していくことにしました。

mysql_01

「 Pick a mirror 」というところをクリックするとユーザ登録画面となる。

mysql_02

今回はユーザ登録せず、ダウンロードするだけなので、 「 >> No thanks, just take me to the downloads! 」 をクリックして、適当なミラーサイトからダウンロードする。 たいてい、日の丸のところでしょう。。。

mysql_03

2.展開&コピー

先ほどダウンロードしたZIPファイルを展開し、展開されたフォルダを適当な場所に適当なフォルダ名に変更してコピーする。 (当方ではCドライブ直下に 「 mysql 」 として配置しました)

3.設定ファイルの作成

C:¥WINDOWS フォルダに以下の内容の 「my.ini」ファイルを作成する。 ※フォルダ「C:¥mysql¥」は当方の場合

1
2
3
4
5
6
7
[mysqld]
basedir="C:¥mysql¥"
datadir="C:¥mysql¥data¥"
default-character-set=cp932

[mysql]
default-character-set=cp932

4.Windowsサービスの登録

MySQLサーバーをWindowsの「サービス」として動作させるために、¥mysql¥binフォルダ内の「mysqld-nt.exe」に以下のようにインストールオプションを与える。 (コマンドプロンプトにて) ※フォルダ「C:¥mysql¥」は当方の場合

1
2
3
4
C:¥>cd ¥mysql¥bin

C:¥mysql¥bin>mysqld.exe --install
Service successfully installed.

5.Windowsサービスの開始

以下のように入力しMySQLのサービスを起動する。 [コントールパネル]−[管理ツール]−[サービス]からMySQLサービスを開始させてもよい。 ※サービス登録時MySQLのサービスは「自動」となっているはずなので、次回からはPC起動時に自動でMySQLサービスは開始させるはず。

1
2
3
C:¥mysql¥bin>net start mysql
MySQL サービスを開始します。
MySQL サービスは正常に開始されました。

6.MySQLの接続確認

以下のように入力後、「mysql>」プロンプトの画面がでれば、接続できたということ。

1
C:¥mysql¥bin>mysql.exe -u root mysql  (< - - - rootユーザでmysqlというdatabaseに接続するという意味) Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.31-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

7.rootユーザのパスワード設定

インストール直後は rootユーザ と 匿名ユーザ のユーザがあるが、rootユーザにはパスワードが無いようです。

1
2
3
4
5
6
7
8
9
mysql> select host, user, password from user;
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| localhost | root |          |
| 127.0.0.1 | root |          |
| localhost |      |          |
+-----------+------+----------+
3 rows in set (0.03 sec)

これではまずいので、rootユーザにパスワードを設定する。

1
2
3
4
5
6
7
mysql> update user set password=password('rootのパスワード')
    -> where user='root';
Query OK, 2 rows affected (0.03 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

8.匿名ユーザの削除

匿名ユーザは不要なので削除する。

1
2
3
4
5
mysql> delete from user where user='';
Query OK, 1 row affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

9.MySQLの終了

1
2
mysql> quit  (もしくは exit)
Bye

●次から、コマンドプロンプトからMySQLに入るには以下のようにする。

1
2
3
4
5
6
7
C:¥mysql¥bin>mysql.exe -u root -p mysql  (< - - - rootユーザでパスワード認証してmysqlというdatabaseに接続するという意味)
Enter password: ***************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.1.31-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

※データベースについて基本的な事からイマイチな方は、別途勉強された方が良いかも知れません。 僕は昔、開発の仕事で Oracle(SQL、 PL/SQL) とか SQLServer(SQL、ストアド) とか使ってたんで。。。

※あと、MySQLのサービスは自動設定だとPC起動時に自動で開始されるので、 うっとおしい(普段は使わないのに重くなる感じしてイヤ)とかあれば、 手動に設定してMySQL使うときだけサービスを開始するということにしてもオッケー!

で、 うちのメインマシン(WindowsXP)にApache2、PHP、MySQL と導入できたわけですが、 実はこれらは XAMPP for Windows

とかいうので、イッパツで全部インストールできちゃうみたい。

ここまでくると、 次はやっぱり、今Fedoraサーバ側でやってる WordPress もWindowsで動かせるようにしたいなあ~。

そうすれば、 Fedoraサーバ側で障害が発生したときに、Windowsマシンで代用できるんじゃないかなと。 バックアップは毎日とってるんで、それをリストアして。 (LinuxでバックアップしたものからWindows側に復元できるんかな?)

でも、 あくまでもWindows側は開発用(検証用)としてですが。。。

※ちなみに、 僕はサーバ用に用意したマシン(ショボイですが)にFedoraを導入する前には、 いつも Windowsマシン に 仮想マシン(VMware)を準備して、その仮想マシン内にFedoraサーバを構築してみて成功しそうだったら実機に構築するという形をとっています。 なので、いざというときはWindows上の仮想マシンでFedoraサーバ運用することも可能ですが・・・ (実際、昔はそうしてた。。。)

仮想マシン VMware についてもいつか書いてみましょうかね~。

そのまえにWindowsで WordPress かっ!

では、また。

Comments