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

2012年8月18日土曜日

WordPress を動かすまで 〜 ライオンと山登り(1)


新しいMac(MBP Retina) にWeb開発の環境を整備しています。
最初気づいたのは、Mountain Lionには「Web共有」が無い。今となっては、いらない機能なので困りませんが。でもApacheはどこに?と思いましたが、ちゃんと入ってます。PHPも入ってます。




私はXAMPPもMacPortsも使わないのですが、それでもあとMySQLさえ入れればWordPressが動くはずです。
でもMySQLを入れてWordPressを動かすまでちょっとした「険しい道のり」に感じました。「頂はすぐそこ」なんですが、、

2010年5月26日水曜日

MySQLのライセンス

商用でのいかなる場合でも、グレーな気がする。
開発言語が何であれ、クライアントライブラリーやドライバーをアプリケーションに組み込んでいるので、商売で使ってる以上商用ライセンスが必要という解釈が出来る。


MySQL ライセンスで頭が痛い
http://d.hatena.ne.jp/kurosaka/20071214/p1

MySQLのラインセンスについて
http://oshiete.goo.ne.jp/qa/2530620.html?ans_count_asc=20

MySQL 商用ライセンス
http://www-jp.mysql.com/about/legal/licensing//commercial-license.html

MySQLが特に必要なければPostgreSQLで良いと思う。最近はVACUUMも自動で出来るし。
MySQLって手軽で軽いイメージがあってついつい使っちゃうけど、仕事で使う場合はエンタープライズ版の購入も視野に入れなきゃね。

2010年2月9日火曜日

DBD::Pg, DBD::mysql のビルドとインストール

Mac OS X にてソースコードからLAMP環境を構築する場合、Perl のDBD::Pg, DBD::mysql をインストールする時にいつも面倒なのでメモしておく。

PostgreSQL, MySQL ともにソースコードからビルドしてインストール。
Linuxディストリビューションのように PostgreSQL, MySQL が /usr 以下にそれぞれインストールされていれば CPAN経由で DBD::Pg, DBD::mysql のインストールが簡単に出来るが、それぞれ /usr/local/pgsql や /usr/local/mysql にインストールした場合はパスが当然通らないのでビルド出来ない。
そこで、ソースコードのアーカイブをダウンロードして、データベースサーバーのインストールされたパス指定したうえで、手動でビルド、インストールを行う。

・DBD::Pg
PostgreSQL は /usr/local/pgsql 以下にインストールしてある。
perl -MCPAN -e shell とかせずに、CPANのサイトから直接ソースコード (DBD-Pg-x.tar.gz) をダウンロードして、これをビルドする。
make の前に環境変数で PostgreSQL のインストールされたパスを指定する。

$ export POSTGRES_HOME=/usr/local/pgsql
$ perl Makefile.PL
$ make
$ make test
$ sudo make install

・DBD::mysql
DBD::mysql の場合は perl Makefile.PL を行う際にオプションを付けてパスの指定を行う。

$ perl Makefile.PL \
--libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm"  \
--cflags=-I/usr/local/mysql/include/mysql \
--mysql_config=/usr/local/mysql/bin/mysql_config
$ perl Makefile.PL
$ make

Mac OS X の場合、make test はうまくいかないので行わない。

$ sudo make install

make test しなかったので、CPAN の DBD::mysql のドキュメントにあるサンプルプログラムを実行して動作確認してみる。特に問題は起きない。

2010年1月24日日曜日

MySQL 5.1 で innodb も有効にしてビルド、インストール








Mac OS X のバイナリも配布されているが、これまでローカルマシンのLAMP環境はソースコードからビルドしていたので、今回もそうしてみる。
バージョン4 以降 innodb を有効にしてインストールするのに失敗していたが、MySQLでのトランザクションの検証には必須なので、再度 innodb 導入にチャレンジ。

・mysqlユーザー
以前からLAMP環境があったので既にmysqlユーザーは作成済み。

・MySQLホームページからダウンロード

ソースコードは"Generic Linux (Architecture Independent), Compressed TAR Archive"とある。Linuxでは無いけど、アーキテクチャーに依存しないっていうことか。

・展開してビルド

./configure --prefix=/usr/local-x86_64/mysql-5.1.42 --with-charset=utf8 --with-extra-charsets=complex --with-plugins=max --with-mysqld-user=mysql

v5.1以降、"--with-plugins=max" とすると innodbが利用出来る。
以前のバージョンでは "--with-innodb"や"--with-plugin-innobase" としていた。

・make install

・設定ファイルのコピーと編集

開発用サーバーなので support-files/my-small.cnf を"インストールディレクトリ/lib"以下にコピー
$ sudo cp /usr/local-x86_64/src/mysql-5.1.42/support-files/my-small.cnf /usr/local-x86_64/mysql-5.1.42/lib/
$ sudo mv /usr/local-x86_64/mysql-5.1.42/lib/my-small.cnf /usr/local-x86_64/mysql-5.1.42/lib/my.cnf

DBのディレクトリも指定しておく
$ sudo vi /usr/local-x86_64/mysql-5.1.42/lib/my.cnf

[mysqld]
...
thread_stack = 128K
datadir = /usr/local-x86_64/mysql-5.1.42/var
...

・初期化
ここでもDBのディレクトリを指定しておく
# bin/mysql_install_db --datadir=/usr/local-x86_64/mysql/var --user=mysql

・起動と停止
必ずmysqlユーザーで行わないといけない。
sudo -u mysql /usr/local-x86_64/mysql/bin/mysqld_safe >/dev/null 2>&1 &
sudo -u mysql /usr/local-x86_64/mysql/bin/mysqladmin -uroot shutdown

innnodbのテーブルが作成可能になった!