IIS での PHP アプリケーション用のデータベースのセットアップ
公開日: 2008 年 1 月 14 日 (作業者: ewoersch (英語))
更新日: 2008 年 3 月 5 日 (作業者: ewoersch (英語))
Microsoft SQL Server Management Studio Express からの SQL Server データベースのセットアップ
Microsoft SQL Server は、マイクロソフトが構築およびサポートするデータベースです。多くの PHP アプリケーションでは、バックエンド データ レポジトリとして Microsoft SQL Server がサポートされています。次の手順は、Microsoft SQL Server が既にインストールおよび実行されていることを前提としています。このチュートリアルでは、SQL Server® 2005 を使用します。MySQL、Microsoft SQL Server® Express、またはその他のデータベースを使用することもできます。
※本記事では Microsoft SQL Server 2005 を使用していますが、日本語情報 公開時点での最新版は SQL Server 2008 になります。
インストールを開始する前に、データベース サーバーでデータベースを作成します。また、ユーザーを作成し、データベースへの所有者権限をこのユーザーに付与します。SQL Server 2005 を使用している場合は、Microsoft SQL Server Management Studio を開き、[新しいクエリ] ボタンをクリックします。次のスクリプトをクエリ ウィンドウに入力します (このスクリプトでは、データベースとユーザーが作成されます)。
USE [master]
GO
CREATE DATABASE my_DB
GO
CREATE LOGIN [my_DBuser]
WITH PASSWORD=N'pass@word1',
DEFAULT_DATABASE=[my_DB],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF
GO
USE [my_DB]
GO
CREATE USER [my_DBuser] FOR LOGIN [my_DBuser] WITH DEFAULT_SCHEMA=[dbo]
また、次に示すように、新しく作成したユーザーに my_DB データベースへの db_owner 権限を付与します。
コマンド ラインからの MySQL データベースのセットアップ
MySQL は、バックエンド データ レポジトリとして多くの PHP アプリケーションでサポートされる一般的なデータベースです。次の手順は、MySQL が既にインストールおよび実行されていることを前提としています。
PHP アプリケーションのインストール手順を開始する前に、サーバーにデータベースを作成します。また、データベース ユーザーを作成し、データベースの所有者権限をこのユーザーに付与します。最初に、次のようなコマンドを使用して、MySQL サーバーにログオンします (管理者権限を持つアカウントでログオンする必要があります。この場合は "root" です)。
c:\> mysql -u root -p
次に、root (MySQL サーバーの管理者アカウント) のパスワードを入力します。
ログインしたら、MySQL プロンプトでアプリケーション用のデータベースを作成します。
mysql>CREATE DATABASE my_DB;
データベースを作成するには、http://dev.mysql.com/downloads/gui-tools/5.0.html (英語) から MySQL GUI ツールをダウンロードします。MySQL クエリ ブラウザーを使用して、create database cslh コマンドでデータベースを作成できます。
次に、この特定のデータベースにアクセスするために PHP アプリケーションで使用するアカウントを以下のように作成します。
mysql> GRANT ALL PRIVILEGES ON my_DB.* TO 'my_DBuser'@'%' IDENTIFIED BY 'my_DBpass';
この 1 行のコマンドで、アカウントの作成、パスワードの設定、権限の設定をすべて行うことができます。
- GRANT ALL PRIVILEGESON my_DB.* - このステートメントは、アカウントに対して、"my_DB" データベースとそのすべてのテーブルのみを対象にすべての権限を付与します。
- TO 'my_DBuser'@'%' - このステートメントは、アカウント名およびこのアカウントでログインできるコンピューターを指定します。この場合、"my_DBuser" は作成されるアカウント名で、"%" はどの場所からでもアカウントにログインできることを意味します。"%" をローカルホストまたは特定の IP アドレスに置き換えた場合は、そのアドレスからのみデータベースにログインできます。
- IDENTIFIED BY 'my_DBpass'; - このステートメントは、アカウントのパスワードとして "my_DBpass" を設定します。また、最後のセミコロンによってコマンドを終了しています。
メモ: ユーザー アカウントおよび権限の管理に関する詳細情報については、MySQL マニュアルを参照してください。