「MySQL」と一致するもの

CentOS5 + SELinux

で、大はまり。

CentOS5(RHEL5の代替として)で検証してたのだけど、Cactiが動かなくてハマリました。
SELinuxって何?って人はWikiとか、itproとか見てください。私が書くより嘘が無いと思いますので。

OSインストール時のSELinuxの設定については「警告のみ」を選択しておいた。パッケージは全部入れ。

ぶっちゃけ、Cacti動かすにはhttpdとMySQLと開発ツール一式がインストールされていればOKなので、絞ろうかとも思ったのですが今回は正式な納品物では無いというのもあって、ちょっと手を抜きました。

ま、そんな事もあって、あっさり動くだろうとタカをくくってたんですが・・・。


MovableType 4.261新規インストール時にダイナミックパブリッシングでブログが表示されないというトラブルがあるようだ。

条件
 MT, MTOS 4.26xを新規インストールした
 データベースにMySQLを使用している
 ダイナミックパブリシングを利用している

症状
 ???????というページが表示される・・・。

解決方法
 mt-config.cgiにSQLSetNames 1と入力して、テンプレート再構築を行う。

Solaris10での構築

ちょっと挫折中。


Solaris10(x86) + Apache + PHP + MySQLでサイト構築しようと企んでたんだけど。


OpenSSL0.9.8k → 何もせず64ビット版に。
libxml2, libjpeg(jpeg6a), libpng, gd → 問題なく64ビット版に。
MySQL5.1 → 問題なく64ビット版に。
Apache2.2 → 問題なく64ビット版に。

PHP5 → 問題なく64ビット版に
いえ、問題ありました。

apxs2を組み込もうとすると、ldがapxsがelf32だというエラーになる。

apxsを調べてみると、Perlのスクリプト。(file apxs)
という事で、Solaris10標準のperlを調べてみると、見事に32ビット版。
(ldが吐くエラーはライブラリに対して・・・のはずなんだけど・・・という疑問はあるが、思い当たる部分はperlのみ・・・だから)
Perlも入れ直す必要があるな → 64ビットでコンパイル出来ず。


・・・

見事にハマリです。


妥協としては全て32ビットバイナリとしてコンパイルする事か、
全てパッケージ(32ビット版が、OS標準で含まれているので)でインストールする事。


・・・ちょっとイヤだが。



追記:
上記、かなり勘違い。
ライブラリ検索パスの話とか、各種ライブラリ(xml2, jpeg, png, gd)の話とかが重なっていただけ。
結論としては、zlibを--sharedオプション付きでコンパイルして解決。




せっかくなので手順を記載(備忘録としてメモ)します。
方針として、インストールは
32ビットバイナリ → /usr/local/bin
32ビットライブラリ → /usr/local/lib
64ビットバイナリ → /usr/local/bin
64ビットライブラリ → /usr/local/lib/64
に行うものとします。

前提としてOpenSSLの最新版が
32ビット版 → /usr/local/ssl
64ビット版 → /usr/local/ssl64
にインストールされているものとします。



Solaris10は全体ディストリビューション異常でインストールされ、コマンドサーチパスは
最低限 /usr/local/bin、/usr/bin、/usr/ccs/bin、 /usr/sfw/binが設定されていると仮定。


64ビットのライブラリ検索パスをcrleで設定
# crle -64 -c /var/ld/64/ld.config \
   -l /usr/local/httpd/lib:/usr/local/lib/64:/usr/sfw/lib/64:/usr/lib/64:/lib/64

Apache2.2のコンパイル&インストール
$ CFLAGS="-m64 -O3" \
  CPPFLAGS="-m64 -O3" \
  CXXFLAGS="-m64 -O3" \
  ./configure \
  --prefix=/usr/local/httpd64 \
  --enable-shared=all \
  --enable-module=so \
  --enable-dav=yes \
  --enable-ssl \
  --with-sslport=443 \
  --with-ssl=/usr/local/ssl64 \
  --enable-cache \
  --enable-disk-cache \
  --enable-mem-cache \
  --enable-proxy \
  --enable-proxy-balancer \
  --enable-rewrite
$ gmake
# gmake install

zlibをコンパイル&インストール
$ CFLAGS="-m64 -O3" \
   CPPFLAGS="-m64 -O3" \
   CXXFLAGS="-m64 -O3" \
   ./configure --shared \
   --prefix=/usr/local \
   --libdir=/usr/local/lib/64
$ gmake
# gmake install

libxml2をコンパイル&インストール
$ CFLAGS="-m64 -O3" \
   CPPFLAGS="-m64 -O3" \
   CXXFLAGS="-m64 -O3" \
   ./configure \
   --libdir=/usr/local/lib/64 \
   --with-zlib
$ gmake
# gmake install

libjpeg(jpeg-6b)をコンパイル&インストール
$ CFLAGS="-m64 -O3" \
   CPPFLAGS="-m64 -O3" \
   CXXFLAGS="-m64 -O3" \
   ./configure \
   --libdir=/usr/local/lib/64
$ gmake
# gmake install

libpngをコンパイル&インストール
$ CFLAGS="-m64 -O3" \
   CPPFLAGS="-m64 -O3" \
   CXXFLAGS="-m64 -O3" \
   ./configure \
   --libdir=/usr/local/lib/64 \
$ gmake
# gmake install

GDをコンパイル&インストール
$ CFLAGS="-m64 -O3" \
   CPPFLAGS="-m64 -O3" \
   CXXFLAGS="-m64 -O3" \
   ./configure \
   --libdir=/usr/local/lib/64 \
$ gmake
# gmake install

PHP-5.2をコンパイル&インストール
$ LDFLAGS="-m64 -O3" \
   CFLAGS="-m64 -O3" \
   CPPFLAGS="-m64 -O3" \
   CXXFLAGS="-m64 -O3" \
   ./configure --libdir=/usr/local/lib/64 \
   --with-zlib --with-gd \
   --enable-mbregex --enable-mbstring \
   --with-mysql=/usr/local/mysql \
   --with-xmlrpc \
   --with-apxs2=/usr/local/httpd/bin/apxs
$ gmake
# gmake install

Oracle が Sun Microsystemsを買収

Oracle が Sun Microsystemsを買収するようだ。


個人的にはMySQLがBarkley DBのように飼い殺しにされないかが気になる・・・。今現在だとMy SQLがOracleの敵になる事は無いのですが。
イメージ的にOracleとオープンソースってのがピンと来ないんだよなぁ。



ま、ビル・ジョイの居なくなったSunには昔のような求心力というか魅力が無くなったように思ってますから、行き着く所まで行ったかという感もありますが。

MySQLの最大接続数を変更する

最大接続数を確認する
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 100   |
+-----------------+-------+
1 row in set (0.00 sec)

最大接続数を変更する
mysql> set global max_connections = 200;
Query OK, 0 rows affected (0.00 sec)