Dreamweaver で MySQL に接続する

>11>Adobe Dreamweaver で MySQL を設定し、MySQL データベース接続を作成し、MySQL ユーティリティを使用する方法について説明します。

この文書の対象者は、PHP 5x を実行しているサーバーを使用する Dreamweaver Creative Suite ユーザーです。

Dreamweaver を使用している場合、データベース接続の詳細については、以下の文書をご覧ください。

概要

この文書では、Dreamweaver での PHP サーバーモデル使用時に、MySQL データベース接続を正常に行うための重要なファクターのいくつかを説明します。また、基本的な MySQL ユーザーアカウント設定についても説明します。この記事では、ローカルコンピューターまたはリモートコンピュータ―に MySQL をインストールおよび設定していると想定します。

設定が正しく完了しない場合、Dreamweaver でエラーが発生します。Dreamweaver で MySQL 接続をテストする際によく発生するエラーは、「An unidentified error has occurred (未知のエラーが発生しました)」です。

メモ:この文書の内容は基本的な入門ガイドです。特定のセキュリティ要件に合わせて MySQL アカウント設定を調整するには、MySQL 文書などのサードパーティ製リソースを参照してください。MySQL のダウンロードとインストールについては、MySQL Web サイトにアクセスしてください。

MySQL の設定

MySQL データベースのデフォルトインストールには、2 つのデータベース(mysqltest)が含まれています。.mysql データベースには、特権に関する情報を保存する 6 つのテーブルが含まれています。このセクションでは、これらのテーブルの内、2 つ (user テーブルと db テーブル)について説明します。

user テーブルは、誰が MySQL サーバーに接続するか、そのユーザーにグローバルレベルの特権があるかどうかに関する情報を保存します。user テーブルに格納された特権は、MySQL サーバーのすべてのデータベースに影響するので、通常、管理者には Y (はい)を含むいくつかの特権フィールドがありますが、標準ユーザーの特権フィールドには N (いいえ)しかありません。db テーブルは、ユーザーがアクセスできる MySQL サーバー上のデータベースを指定し、標準ユーザーの特権の大半を保存します

メモ:多くのサードパーティ製のグラフィックインターフェイスユーティリティは、MySQL データベースの視覚的管理に役立ちます。ただし、この文書では、ネイティブの MySQL コマンドラインクライアントを使用します。

MySQL のインストール先が UNIX、Windows、Mac OS X のいずれのマシンであっても、コマンドプロンプトウィンドウで MySQL を管理できます。Windows の場合は、スタート/プログラム/コマンドプロンプトを選択してコマンドプロンプトを開きます。(一部のシステムでは、コマンドプロンプトは、「スタート/すべてのプログラム」の下の「アクセサリ」にあります)。

コマンドプロンプトで、以下のコマンドを入力することで、現在のディレクトリを wmysql\bin ディレクトリに変更します。

> cd\> cd mysql\bin

MySQL のインストール時に、パスワードなしで root というアカウンが作成されます。このアカウントを使用してデータベースにログインできます。root は MySQL データベースを完全にコントロールできるので、アドビでは、このアカウントにパスワードを割り当てることを強く推奨しています。root アカウントにパスワードを割り当てるには、以下のコマンドを実行すると、root のパスワードが new-password に設定されます。new-password は、推察されにくい任意のパスワードで置き換える必要があります。

> mysqladmin -u root password new-password

PHP Web アプリケーションごとに別々の MySQL アカウントを作成します。MySQL アカウントは好きなだけ作成し、各アカウントに異なる権限や特権を割り当てることができます。Web アプリケーションユーザーは、root アカウントと同じレベルの特権を必要としません。

Web アプリケーション用の別個のユーザーアカウントを作成するには、MySQLに 接続し、以下のいずれかの方法を使用して、スーパーユーザーアカウントでログインします。以下の例でスーパーユーザー特権のあるアカウントは、root アカウントです。Enter キーを押すと、MySQL からパスワードの入力を促すプロンプトが表示されます。

> mysql --user=root --password

-または-

> mysql -uroot -p

いったん MySQL にログインしたら、Web アプリケーション用に dbuser (この名前は任意)というユーザーを作成します。以下に、この新しいユーザーの設定例を 4 つ示します。4 例すべてで、dbuser という名前に新規ユーザーが作成されます。このユーザーには、4 つの特権(SELECTINSERTUPDATEDELETE)が employees データベース(以下の例の emp データベース)のどのテーブルにおいても付与されます。MySQL データベースでは、パスワード myPassword は暗号化されます。

  • この例の dbuser は、localhost からしかデータベースにアクセスできません。
    GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@localhost IDENTIFIED BY "myPassword";
  • この例の dbuser は、mySite からしかデータベースにアクセスできません。
    GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@mySite IDENTIFIED BY "myPassword";
  • この例の dbuser は、mySite.myDomain.com からしかデータベースにアクセスできません。
    GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@mySite.myDomain.com IDENTIFIED BY "myPassword";
  • この例の dbuser は、任意のホストからデータベースにアクセスできます。
    GRANT SELECT, INSERT, UPDATE, DELETE ON emp.* TO dbuser@"%" IDENTIFIED BY "myPassword";

GRANT ステートメントを実行したら、以下のコマンドで emp データベースから mysql データベースに戻ります。

>use mysql

メインの mysql データベースの db テーブルにどのような変更が行われたのかを観察するには、以下の SQL ステートメントを実行します。

SELECT Host, Db, User, Select_priv, Insert_priv,    Update_priv, Delete_priv   FROM db   WHERE User='dbuser';

以下に、上記のすべての GRANT ステートメントを実行した場合の db テーブルの内容を示します。

主催者

Db

ユーザー

Select_

priv

Insert_

priv

Update_

priv

Delete_

priv

localhost

emp

dbuser

Y

Y

Y

Y

mySite

emp

dbuser

Y

Y

Y

Y

mySite.

myDomain.com

emp

dbuser

Y

Y

Y

Y

%

emp

dbuser

Y

Y

Y

Y

メインの mysql データベースの user テーブルにどのような変更が行われたのかを観察するには、以下の SQL ステートメントを実行します。

SELECT Host, User, Select_priv, Insert_priv,    Update_priv, Delete_priv   FROM user   WHERE User='dbuser';

以下に、上記のすべての GRANT ステートメントを実行した場合の user テーブルの内容を示します。

主催者

ユーザー

Select_

priv

Insert_

priv

Update_

priv

Delete_

priv

localhost

dbuser

N

N

N

N

mySite

dbuser

N

N

N

N

mySite.

myDomain.com

dbuser

N

N

N

N

%

dbuser

N

N

N

N

メモ:セキュリティ上の理由で、user テーブルの dbuser アカウントは、root アカウントや MySQL 管理者アカウントのような管理者権限を必要としない限り、変更しないでください。これらの権限を付与すると、dbuser はシステムデータベースにアクセスできるようになります。

MySQL は、その起動時および GRANT ステートメントと REVOKE ステートメントの発行時に user テーブルと db テーブルを自動的に読み込みます。user テーブルと db テーブルを手動で変更した場合は、以下のコマンドを使用してテーブルを再度読み込み、変更内容を処理してください。

> flush privileges;

Dreamweaver での PHP / MySQL サイト定義の設定

Dreamweaver で MySQL データベースに正常に接続できるかどうかは、サイト定義時に正しい「サイト定義」を入力したかどうかによって決まります。以下の PHP / MySQL サイト定義例では、mySite.myDomain.com として識別されるマシンで実行される Linux PHP サーバーを使用しています。MySQL は mysql1.myDomain.com として識別される別のマシンで実行され、Dreamweaver はローカルワークステーションで実行されます。ワークステーションと Linux Web サーバー間のファイル転送には、FTP が使用されます。

  • ローカル情報:
    • サイト名: mySite
    • ローカルルートフォルダー: C:\mySite\
  • リモート情報:
    • アクセス: FTP
    • FTP ホスト: mySite.myDomain.com
    • ホストディレクトリ: /htdocs/
    • ログイン: webadmin
    • パスワード: *********
  • テストサーバー:
    • サーバーモデル: PHP / MySQL
    • アクセス: FTP
    • FTP ホスト: mySite.myDomain.com
    • ホストディレクトリ: /htdocs/
    • ログイン: webadmin
    • パスワード: *********
    • URL プレフィックス: http://mySite.myDomain.com/

Dreamweaver で MySQL データベース接続を作成する

一度 MySQL ユーザーアカウントを設定してサイトを定義すると、Dreamweaver で MySQL データベースに接続できます。上記の設定を使用した場合、Dreamweaver の MySQL 接続ダイアログボックスの設定例は以下のようになります。

接続名:名前(connEmp など)を選択します。
MySQL Server: mysql1.myDomain.com
ユーザー名: dbuser
パスワード: myPassword
データベース:データベースの名前を入力するか、「選択」ボタンをクリックして、サーバーで実行される MySQL データベースのリストから選択します。

メモ: PHP と MySQL を同じマシンで実行する場合、「MySQL サーバー」フィールドには localhost と入力する必要があります。

MySQL ユーティリティ

サードパーティツールを使用すると、SQL の知識がなくても MySQL データベースの設定と管理が可能です。これらは、コマンドラインインターフェイスでなく、ビジュアルなインターフェイスでデータベースを操作する場合に有用なツールです。これらのツールは、MySQL データベースを実行すマシンやローカルワークステーションにダウンロードしてインストールできます。PHPMyAdminEMS MySQL ManagerurSQLPremiumSoft MySQL Studio などのツールがよく使用されます。

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト