#contents
*Mac に、開発用の MySQL データベースを作成 [#k7e2f682]
+MySQLをインストール
$ sudo port install mysql55-server
+DB作成
$ sudo -u _mysql /opt/local/lib/mysql55/bin/mysql_install_db
+(NetBeans から起動・停止をするために) DBファイル と、ソケットファイルの所有者を自分にする
$ sudo chown -R atsushi /opt/local/var/db/mysql55/
$ sudo chown -R atsushi /opt/local/var/run/mysql55/
+DB管理者パスワードの設定
--起動
$ /opt/local/lib/mysql55/bin/mysqld
#br
--DB管理者パスワードの変更
$ /opt/local/lib/mysql55/bin/mysqladmin -u root password 'mypassword'
--シャットダウン
$ /opt/local/lib/mysql55/bin/mysqladmin shutdown -u root -p
Enter password: mypassword
+my.cnf の設定
$ /opt/local/etc/mysql55/
$ sudo mv my.cnf my.cnf.original
$ touch my.cnf
インストーラーが作ったものを退避して、空の my.cnf を作る。&br;
--元の設定
---ネットワーク経由での接続できないようになっていた(lo0 経由の接続含む)。これでは、NetBeans / Glassfish / MySQL Workbench からアクセスできない
---/opt/local/etc/mysql55/my.cnf.original
# Use default MacPorts settings
!include /opt/local/etc/mysql55/macports-default.cnf
---/opt/local/etc/mysql55/macports-default.cnf
[mysqld]
# skip-networking so multple mysql server ports can be loaded
# without each competing for port 3306.
skip-networking
+コマンドラインからの起動・停止
$ /opt/local/lib/mysql55/bin/mysqld
#br
$ /opt/local/lib/mysql55/bin/mysqladmin shutdown --user=root --password=mypassword
*MySQL Workbench (GUI Tool) [#p9d8e6e6]
http://dev.mysql.com/downloads/workbench/5.2.html
*NetBeans の設定 [#oa585503]
+[サービス]-[データベース]-[MySQLサーバを登録]
#ref(mysql0.png)
+ネットワーク経由でのアクセス設定
#ref(mysql1.png)
+軌道・終了コマンドを設定
#ref(mysql2.png)
+アプリケーション用のデータベースとユーザを作成&br;
jdbc:mysql//localhost:3306/ を右クリックして「コマンドの実行」
create database warehouse;
grant all privileges on warehouse.* to appuser@localhost identified by 'apppassword';
+テーブルの作成&br;
MySQLサーバ を右クリックして管理ツールの実行
#ref(mysql3.png)
--テーブルを作成
#code(sql){{
CREATE TABLE `warehouse`.`customer` (
`id` BIGINT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NOT NULL ,
`address` VARCHAR(1024) ,
PRIMARY KEY (`id`) );
CREATE TABLE `warehouse`.`item` (
`id` BIGINT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NOT NULL ,
`price` BIGINT ,
`stock` BIGINT ,
PRIMARY KEY (`id`) );
CREATE TABLE `warehouse`.`order` (
`id` BIGINT NOT NULL AUTO_INCREMENT ,
`customer_id` BIGINT NOT NULL ,
`item_id` BIGINT NOT NULL ,
`amount` BIGINT NOT NULL,
`shipdate` DATETIME NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`customer_id`) references customer(`id`),
FOREIGN KEY (`item_id`) references item(`id`) );
}}
--Create EER Model From Existing Database
#ref(mysql4.png)
--例題 : 顧客テーブルと、商品テーブルと、注文テーブル
*Glassfish の設定 [#g3591b98]
-手順 http://dev.mysql.com/doc/refman/5.5/en/connector-j-usagenotes-glassfish-config.html
+JDBC ドライバ (Connector/J) のダウンロード
--http://dev.mysql.com/downloads/connector/j/
+Glassfish に配置
--/Users/atsushi/GlassFish_Server/glassfish/lib/mysql-connector-java-5.1.23-bin.jar
+NetBeans で、MySQL と Glassfish を起動
#ref(mysql5.png)
+ドメイン管理コンソールの表示
#ref(gf-0.png)
+コネクションプールの作成
++JDBC接続プール
#ref(gf-1.png)
++リーソースタイプ DataSource、ドライバ MySql
#ref(gf-2.png)
++接続設定
|ServerName|localhost|
|User |appuser|
|Password |apppasswrod|
|DatabaseName|warehouse|
|useUnicode|true|
|characterEncoding|utf8|
#ref(gf-3.png)
++作成
#ref(gf-5.png)
++Pingを確認
#ref(gf-4.png)
+リソースの作成
#ref(gf-6.png)
#br
#ref(gf-7.png)
-これで Web アプリから jdbc/MySQLDataSource が使えるようになるはず
----
[[Java#NetBeans]]