ラベル MySQL の投稿を表示しています。 すべての投稿を表示
ラベル MySQL の投稿を表示しています。 すべての投稿を表示

2011年8月30日火曜日

MAMP 環境で SQLAlchemy を使用する方法

前回のつづきです
相変わらず、メモ程度なので短いです

MAMP 環境ではソケット接続先がデフォルトと異なるため、接続時にその場所を指定する必要があるというのが前回でしたが、 Python 製の有名な OR マッパの1つである、SQLAlchemy を指定する場合はどのように設定するかが今回のエントリーとなります

指定方法は、以下のようにデータベース URL に対して、ソケット接続先をクエリパラメータに追加することとなります

データベース種別://ユーザ名:パスワード@接続先アドレス:ポート番号/データベース名?unix_socket=接続先ソケットのパス

具体的には以下の通りとなります

In [1]: from sqlalchemy import create_engine
In [2]: engine = create_engine("mysql://root:root@localhost/mysql?unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock")
In [3]: engine.execute("select 1").scalar()
Out [3]: 1L

以上で、 MAMP 環境下で SQLAlchemy が無事使えるようになるかと思います

2011年8月27日土曜日

MAMP 環境で mysql-python をインストールする方法

ちょこっとハマったのでメモとして…
元ネタはコチラ

以降は、 MAMP 、 Homebrew がインストールされていることが前提となります
MAMP 、 Homebrew のインストール等の詳細に関しては下記過去記事も参照ください

・Mac OS X での PHP 開発環境(MAMP編)
・MacPorts から Homebrew へ移りました

なお、今回は MAMP 2.0 、 Homebrew 0.8 を使用しました

今回ハマった要因は、 mysql-python をビルドする際に必要なヘッダファイルが MAMP には含まれないということでした
( MAMP とは別に) MySQL 本体をダウンロードし、それを利用するなどの方法はあるのですが、さすがに面倒なので、 Homebrew にある、 "mysql-connector-c" という C 言語用接続 API のみのパッケージを利用します

$ brew install mysql-connector-c

Homebrew でのインストールが終了したら、
(下記では、mysql-python のインストールに pip を使用しています)

$ pip install mysql-python

以上で無事にインストールが完了するかとおもいます

次に実際に接続テストを行います
(テストには ipython を使用しました)

In [1]: import MySQLdb
In [2]: db = MySQLdb.connect(unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock", user="root", passwd="root", db="mysql", charset="utf8")

上記コードの実行でエラーが発生しなければ、接続テスト完了です
この際に注意が必要なのは、 MAMP を利用する場合、接続ソケットのパスがデフォルトでは "/Applications/MAMP/tmp/mysql/mysql.sock" となるため、接続時にこれを設定しなければならないということです
(設定しない場合は、 "/tmp/mysql.sock" に接続しようとして、エラーとなります)

以上で、 mysql-python のインストールは無事完了となります

2008年9月18日木曜日

Mac OS X での PHP 開発環境(MAMP編)

Mac OS X Leopard(10.5.x)では標準でApacheやPHPの環境はそろっているのですが、動作させるまでの設定が面倒です
Apache、PHPなどの細かいバージョンの指定がなければ、MAMPというアプリケーションを使用するのが簡単かと思います
MAMPはApache、MySQL、PHPの同梱パッケージで、インストール後はすぐにそれらを使用することができます

コチラより最新のパッケージをダウンロードしてインストールします
(08/09/18現在では1.7.2)
なお、ダウンロードしたパッケージには有料版であるProも含まれていますが、今回は無料版のMAMPを使用しています


続いてNetBeansのデバッガ機能を使用するため、PHPのデバッグモジュールのxdebugをインストールします
インストールにはKomodo Remote Debugging Packagesを利用します
(もちろん、本家からソースコードをダウンロード、ビルドして利用することもできます)
使用環境に併せた最新バージョンのPHP Remote Debuggingをダウンロードします
ダウンロード後、パッケージを解凍すると、PHPの各バージョンに対応したモジュールが展開されます

今回利用するMAMPにはPHP4.4.8/5.2.6が含まれていますので、使用するバージョンに併せて4.4、または5.2フォルダにある"xdebug.so"をコピーしてください
(以降、PHP5.2.6と対応する5.2用のxdebugにて説明します.PHP4を利用する際は適時に読み替えてください)
コピーしたファイルを"/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/"以下に置きます

次に"/Applications/MAMP/conf/php5"以下の"php.ini"を編集します
以下の設定をファイルに追加してください
(設定は必要に応じて変更してください)
[xdebug]
zend_extension = /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/xdebug.so
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.idekey =
xdebug.profiler_enable = On
xdebug.profiler_output_dir = "/Applications/MAMP/tmp/xdebug/"


設定後、MAMPアイコンをダブルクリックし、起動します
表示されたMAMP管理ウィンドウの「環境設定」ボタンをクリックします
「PHP」タブをクリックし、「機能拡張」にある「Zend Optimizer」のチェックをはずします
(Zend Optimizerが有効な場合、デバッグが正常に動きません)
その他、ポート番号やドキュメントルートなどは必要に応じ、変更してください
(今回の説明ではデフォルトのままで使用しています)

「サーバを停止」、「サーバを起動」とクリックし、サーバを再起動したのち、「スタートページを開く」ボタンをクリックしてブラウザを開きます
画面上部のメニューより「phpinfo」のメニューをクリックし、各種設定を確認します
また、ページ後半に"xdebug"の項目があることを確認してください
(ブラウザの検索ウィンドウにて"xdebug"と入力して探すと簡単に見つけられると思います)
"xdebug"の項目がない場合は正常にインストールできていません
インストール先や上記設定の確認を行ってください

以上でPHPに関する設定は完了です
デフォルトの設定でドキュメントルートは"/Applications/MAMP/htdocs"となっていますので、テストとして以下の内容でindex.phpを作成します
<?="Hello PHP!"?>

"http://localhost:8888/"をブラウザで開くと、以下の画面が表示されるかとおもいます


今後開発を行う場合、このドキュメントルートにファイルを配備します
環境の準備ができましたので、次回は NetBeans の PHP サポートを利用した開発を紹介したいと思います

2008年8月10日日曜日

NetBeans 6.5 の新機能(1)

6.5 にて個人的に気になっている(期待している)新機能を紹介したいと思います
なお、 紹介した機能が最終的なリリース版に含まれるかは現時点では不明ですので、ご了承下さい。

今回はデータベース周りです
Sun が MySQL を買収したこともあってか、 6.1 では MySQL の対応がメインで、データベース周りの機能追加はあまりなかったのですが、 6.5 は大幅な追加が行われそうです

(1) SQL エディタでの補完


デザインクエリの機能があったからか、長い間シンプル(悪く言えば低機能)だった SQL エディタでしたが、今回クエリの補完機能が追加されました
現時点ではあまり賢いとは言い難いのですが、実用レベルではあると思います
(さすがに作業効率という面では各 DB 専用エディタにはかないませんが…)

(2) SQL 履歴


過去に実行した SQL の履歴を表示し、再利用する事ができます
接続別、また入力文字列によって履歴を絞り込む事ができます
行を選択し、 「Insert」 ボタンをクリックすると、 エディタ内のカーソル位置に SQL が挿入されます

(3) GUI によるデータ操作


今までは、テーブル作成は GUI にてできていたのですが、データ登録、更新、作成などは SQL で直接操作する必要がありました
今回の機能追加でこれらのデータ操作が GUI にて行う事ができるようになりました


このアイコンをクリックすると、データの登録(INSERT)用ウィンドウが表示されます

テーブル定義に対応した項目が表示され、型に合わせたデータの入力ができます
また、実際に実行される SQL の確認もできます


実行すると、以下のようにデータが登録されます



登録したデータ行を選択すると、この削除アイコンが有効になります
クリックすると、確認プロンプトが表示されます


「Yes」 ボタンをクリックすると、選択行が削除されます
なお、この処理は自動コミットなので、ロールバックはできないようです



表示されているデータ行のカラムをダブルクリックすると、入力可能状態となり、データを編集することができます


編集したデータを確定すると、データの文字色が変わり、編集に関するアイコンがアクティブになります
なお、この時点では DB へ変更は反映されていません
(リフレッシュすると編集前にもどります)


このアイコンをクリックすると、編集されたデータがコミットされます


このアイコンをクリックすると、編集されたデータはロールバックされます


このアイコンは選択されたテーブルのデータを全削除( truncate )します

6.0 、6.1 では開発環境として DB と連携する機能は整備されましたが、DB 操作に関してはほとんど機能追加は行われていませんでした
今回の機能追加で大幅に手が入った事により、簡単なテストデータの作成のレベルであれば、 NetBeans のみで完了できるかと思います
補完に関しては、 H2 の Web インターフェイス並みの補完機能、 GUI でのデータ操作では、別ウィンドウでデータ登録するのではなく、テーブルに対して空行を追加し、そこに値を入力し、コミットする事で登録となれば、より実用的かなと思います
(GUI でのデータ操作に関しては、編集は上記方法で実現できているので、可能かとは思っているのですが…)

その他にも 6.5 は機能追加が盛りだくさんですので、(リリース版に本当に実装されるかは別として)引き続き紹介したいと思います

2008年5月8日木曜日

NetBeans 6.1 MySQL-GlassFish バンドル版リリース

NetBeans 6.1 の MySQL-GlassFish バンドル版がリリースされました


インストーラーの使用許諾が日本語環境だと出ないんですが、いずれ改善されるでしょう

また、MySQL についてはインストールされるバージョンが mysql-5.0.51a になります
このバージョンのパッケージ版は Leopard(10.5.2) にていくつか問題が確認されているので、 個人的には(08/05/08現在)最新の mysql-5.0.51b を使う事をお勧めします

一気に環境構築を考えられる方はコチラを使ってみてはどうでしょうか

2008年4月15日火曜日

Mac OS X に MySQL をインストールする

6.1 からの新機能に MySQL との連携がありますが、まずはインストールから行います
MySQL のサイトにてMac OS X 用パッケージが用意されていますが、Leopard への対応がいまいちなので、今回は Macports を利用してインストールします
(自動起動スクリプトを含み、インストールします)
$ sudo port install mysql5 +server

インストールに時間がかかりますが、最後にコマンドが表示されるのでそれを実行します

まずは自動起動スクリプト登録のコマンドです
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist


次がDBの初期化コマンドです
$ sudo -u mysql mysql_install_db5


続いてDBの設定を行います
まず、パーミッションの設定を行います
$ sudo chown -R mysql /opt/local/var/db/mysql5/
sudo chgrp -R mysql /opt/local/var/db/mysql5/

次に設定ファイルの編集を行います
最初に雛形となるファイルをコピーします
$ sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf

コピーしたファイルを編集します
$ sudo vi /opt/local/etc/mysql5/my.cnf

修正内容は下記の通りです
# The MySQL server
[mysqld]
...

# Additional Settings
default-character-set = utf8
default-storage-engine = innodb
skip-character-set-client-handshake

設定後、手動で起動します
$ sudo mysqld_safe5

起動後、root ユーザーのパスワードを設定します
(下記'********'は任意の文字列を入力下さい)
$ sudo mysqladmin5 -u root password '********'

設定後、ログインをして正常に設定されているか確認して下さい
$ mysql5 -u root -p

正常にログインできればインストールと初期設定は終了です
次回は NetBeans から接続します