hdknr’s posterous

 

MySQL-python : easy_install で入れたら libmysqlclient_r.so.15 が必要。(Squeeze)

imporError

(jail)hdknr@mailjail:~/.ve/jail/src/djpostfix/djpostfix$ python
Python 2.5.4 (r254:67916, Feb 17 2009, 20:16:45)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "__init__.py", line 19, in <module>

       File "/home/hdknr/.ve/jail/lib/python2.5/site-packages/MySQL_python-1.2.3c1-py2.5-linux-i686.egg/_mysql.py", line 7, in <module>
  File "/home/hdknr/.ve/jail/lib/python2.5/site-packages/MySQL_python-1.2.3c1-py2.5-linux-i686.egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory

削除

(jail)hdknr@mailjail:~/.ve/jail/lib/python2.5/site-packages$ rm MySQL_python-1.2.3c1-py2.5-linux-i686.egg

aptで入れなおす

(jail)hdknr@mailjail:~/.ve/jail/lib/python2.5/site-packages$ sudo aptitude install python-mysqldb
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています               
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます     
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了       
以下の新規パッケージがインストールされます:
  python-mysqldb
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
アーカイブ 94.8kB 中 0B を取得する必要があります。展開後に 336kB のディスク領域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
未選択パッケージ python-mysqldb を選択しています。
(データベースを読み込んでいます ... 現在 78680 個のファイルとディレクトリがインストールされています。)
(.../python-mysqldb_1.2.2-10_i386.deb から) python-mysqldb を展開しています...
python-mysqldb (1.2.2-10) を設定しています ...
python-support のトリガを処理しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています               
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます     
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了       
タスクの記述を読み込んでいます... 完了 

OK

(jail)hdknr@mailjail:~$ python
Python 2.5.4 (r254:67916, Feb 17 2009, 20:16:45)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>
(jail)hdknr@mailjail:~$

(jail)hdknr@mailjail:~$ pip install MySQL-python
Requirement already satisfied: MySQL-python in /usr/lib/pymodules/python2.5
Installing collected packages: MySQL-python
Successfully installed MySQL-python

Filed under  //   easy_install   MySQL   pip   Python   virtualenv  

Comments [0]

ruby : gem : install mysq on Squeeze : libmysqlclient-dev が必要です!

hdknr@debsq:~$ sudo gem1.8 install mysql
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:10:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:10


Gem files will remain installed in
/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to
/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

hdknr@debsq:~$ sudo aptitude install ruby1.8-dev -y
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
以下の新規パッケージがインストールされます:
ruby1.8-dev
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
834kB のアーカイブを取得する必要があります。展開後に 1,872kB のディスク
領域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.jp.debian.org squeeze/main ruby1.8-dev 1.8.7.174-2 [834kB]
834kB を 2s 秒でダウンロードしました (410kB/s)
未選択パッケージ ruby1.8-dev を選択しています。
(データベースを読み込んでいます ... 現在 31249 個のファイルとディレクト
リがインストールされています。)
(.../ruby1.8-dev_1.8.7.174-2_i386.deb から) ruby1.8-dev を展開しています...
ruby1.8-dev (1.8.7.174-2) を設定しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了

hdknr@debsq:~$ sudo gem1.8 install mysql
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby1.8
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib


Gem files will remain installed in
/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to
/usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

hdknr@debsq:~$ sudo aptitude install libmysql-ruby1.8 -y
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
以下の新規パッケージがインストールされます:
libmysql-ruby1.8
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
55.9kB のアーカイブを取得する必要があります。展開後に 217kB のディスク領
域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.jp.debian.org squeeze/main libmysql-ruby1.8 2.8.1-1+b1
[55.9kB]
55.9kB を 0s 秒でダウンロードしました (235kB/s)
未選択パッケージ libmysql-ruby1.8 を選択しています。
(データベースを読み込んでいます ... 現在 31279 個のファイルとディレクト
リがインストールされています。)
(.../libmysql-ruby1.8_2.8.1-1+b1_i386.deb から) libmysql-ruby1.8 を展開
しています...
libmysql-ruby1.8 (2.8.1-1+b1) を設定しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了

hdknr@debsq:~$ dpkg -L libmysqlclient16
/.
/usr
/usr/lib
/usr/lib/libmysqlclient.so.16.0.0
/usr/lib/libmysqlclient_r.so.16.0.0
/usr/share
/usr/share/doc
/usr/share/doc/libmysqlclient16
/usr/share/doc/libmysqlclient16/changelog.gz
/usr/share/doc/libmysqlclient16/EXCEPTIONS-CLIENT.gz
/usr/share/doc/libmysqlclient16/changelog.Debian.gz
/usr/share/doc/libmysqlclient16/copyright
/usr/lib/libmysqlclient_r.so.16
/usr/lib/libmysqlclient.so.16

hdknr@debsq:~$ dpkg -L libmysql-ruby1.8
/.
/usr
/usr/lib
/usr/lib/ruby
/usr/lib/ruby/1.8
/usr/lib/ruby/1.8/i486-linux
/usr/lib/ruby/1.8/i486-linux/mysql.so
/usr/share
/usr/share/doc
/usr/share/doc/libmysql-ruby1.8
/usr/share/doc/libmysql-ruby1.8/changelog.Debian.gz
/usr/share/doc/libmysql-ruby1.8/copyright
/usr/share/doc/libmysql-ruby1.8/examples
/usr/share/doc/libmysql-ruby1.8/examples/test.rb.gz
/usr/share/doc/libmysql-ruby1.8/README_ja.html
/usr/share/doc/libmysql-ruby1.8/README.html
/usr/share/doc/libmysql-ruby1.8/tommy.css

hdknr@debsq:~$ sudo aptitude install libmysqlclient-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
以下の新規パッケージがインストールされます:
libmysqlclient-dev zlib1g-dev{a}
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
2,479kB のアーカイブを取得する必要があります。展開後に 6,808kB のディス
ク領域が新たに消費されます。
先に進みますか? [Y/n/?] Y
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.jp.debian.org squeeze/main zlib1g-dev
1:1.2.3.3.dfsg-15 [159kB]
取得:2 http://ftp.jp.debian.org squeeze/main libmysqlclient-dev 5.1.37-2
[2,321kB]
2,479kB を 4s 秒でダウンロードしました (563kB/s)
未選択パッケージ zlib1g-dev を選択しています。
(データベースを読み込んでいます ... 現在 31288 個のファイルとディレクト
リがインストールされています。)
(.../zlib1g-dev_1%3a1.2.3.3.dfsg-15_i386.deb から) zlib1g-dev を展開して
います...
未選択パッケージ libmysqlclient-dev を選択しています。
(.../libmysqlclient-dev_5.1.37-2_i386.deb から) libmysqlclient-dev を展
開しています...
man-db のトリガを処理しています ...
zlib1g-dev (1:1.2.3.3.dfsg-15) を設定しています ...
libmysqlclient-dev (5.1.37-2) を設定しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了

hdknr@debsq:~$ sudo gem1.8 install mysql
Building native extensions. This could take a while...
Successfully installed mysql-2.8.1
1 gem installed
Installing ri documentation for mysql-2.8.1...
No definition for next_result
No definition for field_name
No definition for field_table
No definition for field_def
No definition for field_type
No definition for field_length
No definition for field_max_length
No definition for field_flags
No definition for field_decimals
No definition for time_inspect
No definition for time_to_s
No definition for time_get_year
No definition for time_get_month
No definition for time_get_day
No definition for time_get_hour
No definition for time_get_minute
No definition for time_get_second
No definition for time_get_neg
No definition for time_get_second_part
No definition for time_set_year
No definition for time_set_month
No definition for time_set_day
No definition for time_set_hour
No definition for time_set_minute
No definition for time_set_second
No definition for time_set_neg
No definition for time_set_second_part
No definition for time_equal
No definition for error_errno
No definition for error_sqlstate
Installing RDoc documentation for mysql-2.8.1...
No definition for next_result
No definition for field_name
No definition for field_table
No definition for field_def
No definition for field_type
No definition for field_length
No definition for field_max_length
No definition for field_flags
No definition for field_decimals
No definition for time_inspect
No definition for time_to_s
No definition for time_get_year
No definition for time_get_month
No definition for time_get_day
No definition for time_get_hour
No definition for time_get_minute
No definition for time_get_second
No definition for time_get_neg
No definition for time_get_second_part
No definition for time_set_year
No definition for time_set_month
No definition for time_set_day
No definition for time_set_hour
No definition for time_set_minute
No definition for time_set_second
No definition for time_set_neg
No definition for time_set_second_part
No definition for time_equal
No definition for error_errno
No definition for error_sqlstate

hdknr@debsq:~$ irb1.8
irb(main):001:0> require 'mysql'
=> true

Filed under  //   Debian   gem   MySQL   rails   ruby  

Comments [0]

MySQL 5.0 の起動 | 自宅サーバー Debian/Ubuntu

MySQL の自動起動スクリプト

MySQL の自動起動スクリプトを使うことで、サーバーマシンが起動するときに自動的に MySQL を起動させることができます。
MySQL の自動起動スクリプトは MySQL のインストールディレクトリ(share/mysql)に含まれています。
これを /etc/init.d/mysql ファイルとしてコピーします。

# install -o root -g root -m 755 /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql

コピーした自動起動スクリプトの自動起動設定を行います。

# update-rc.d mysql defaults 64 36

サービスを起動する場合は以下のように実行します。

# /etc/init.d/mysql start

Filed under  //   Debian   MySQL  

Comments [0]

sec on earth: MySQLのクエリキャッシュ

ということで、MySQLのチューニングについて調べ始めた。
デフォルト設定のままだったのだが、クエリのキャッシュが無効っぽい。
mysqladmin で query_cache_size の値を調べると 0 だった。

とりあえず、/etc/my.cnfの[mysqld]セクションに以下の設定をして、クエリキャッシュを有効にしてみた。


query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=32M
query_cache_type=1


これで劇的に改善された!なんでデフォで無効なんだろ?

Filed under  //   MySQL   Performance   QueryCache   Tuning  

Comments [0]