2008/2/12 火曜日

innoDBでカラムサイズが768バイトを超えると16KB単位になる

Filed under: MySQL — ne-zu @ 15:31:38 このエントリをはてなブックマークに追加

id:kazuhookuのメモ置き場

カラムサイズが768バイトを超えると16KB単位になるってのは重要。

それは重要ですね。勉強になります。

2008/2/4 月曜日

phpMyBackupPro

Filed under: DB, MySQL, ツール — ne-zu @ 23:30:35 このエントリをはてなブックマークに追加

phpMyBackupPro - the MySQL backup tool :: Features

WEB上からMySQLをバックアップするためのソフトです。スケジューリングや、ftp、メールにバックアップデータを転送できるのが特徴でしょうか。

インストール方法は、

・ダウンロード
・解凍
・アクセスできるディレクトリへコピー
・global_conf.phpとexportフォルダの権限を書き込み可能に
・ブラウザからアクセス

でmysqlの設定などをWEB画面から行ってください。
無事バックアップできましたでしょうか。
二度目以降のアクセスに必要なユーザ名とパスワードはDBへ接続する際のものとなります。

2007/11/29 木曜日

MySQLでIPアドレスを数値として扱う

Filed under: MySQL — ne-zu @ 23:28:28 このエントリをはてなブックマークに追加

kawama.jp: MySQLでIPアドレスを扱う(INET_ATONとINET_NTOA)

INET_ATON(たぶんAddressTONumberの略)はネットワークアドレスを10進数に変換してくれる関数です。数値に変換することで、SQLでのネットワークアドレスの扱いがぐっと楽になります。ちなみに逆バージョンのINET_NTOAというのもあります。

MySQLでIPアドレスを扱うのに楽ちんな関数です。

マニュアルでは

INET_ATON(expr)

文字列として指定された、ドット 10 進表記のネットワークアドレスを、そのアドレスの数値を表す整数として返す。 アドレスとして、4 バイトまたは 8 バイトのアドレスを指定できる。

mysql> SELECT INET_ATON(”209.207.224.40″);
-> 3520061480

生成される数値は、常にネットワークバイトオーダーで生成される。たとえば、上の例の数値は、209*256^3 + 207*256^2 + 224*256 +40 として計算される。

INET_NTOA(expr)

数値として表現されたネットワークアドレス(4 または 8 バイト)を、ドット 10 進表記のアドレス(文字列)として返す。

mysql> SELECT INET_NTOA(3520061480);
-> “209.207.224.40″

こうあります。
IPv4アドレスが簡単に32ビットで保存できますね。

2007/10/31 水曜日

MySQLにおける、utf8_general_ci と utf8_unicode_ci の違いとは何か。

Filed under: MySQL — ne-zu @ 1:37:16 このエントリをはてなブックマークに追加

MySQLの照合順序における、utf8_general_ci と utf8_unicode_ci の違いとは何か。よくわからなかったのでマニュアルを紐解くと、MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 9.10.1 Unicode キャラクタセットにて、こう書かれています。

現在、utf8_unicode_ci照合順序はUnicode 照合順序アルゴリズムを部分的にのみサポートしています。中にはまだサポートされていない文字もあります。また、結合マークは完全にはサポートされていません。このことはベトナム語を中心に、ロシア内のマイノリティ言語に影響します。

utf8_unicode_ci主な特徴は、拡張をサポートしていることです。それは1つの文字が他の文字のコンビネーションと等価であると比較された場合です。例えば、ドイツ語や他の言語では、‘ß’ は‘ss’に相当します。

utf8_general_ciは拡張をサポートしないレガシー照合順序です。文字間で1対1の比較しかできません。つまり、utf8_general_ci照合順序に対する比較の方が早いが、utf8_unicode_ciに比べてわずかに正確性が劣ります。

utf8_generic_ciだとマッチする文字が増えるかもですよ、と。

例えば、以下の等式がutf8_general_ciとutf8_unicode_ciにおいて証明されます。

Ä = A
Ö = O
Ü = U

照合順序間の違いはutf8_general_ciに対して有効です。

ß = s

utf8_unicode_ciにとって有効である場合:

ß = ss

実際のところ、日本語2byteの場合はどうなんでしょうか。genericで困ったという話も聞きませんが。。

参考ページ

  • http://private.ceek.jp/archives/002377.html
  • 2007/10/17 水曜日

    MySQLをソースからインストールした時の、phpMyAdmin設定

    Filed under: MySQL, phpMyAdmin — ne-zu @ 0:06:08 このエントリをはてなブックマークに追加

    LinuxでMySQLをソースからインストールした時にphpMyAdmin用の設定をするメモです。phpMyAdminというか、mysqliですが。php.iniのmysqli設定をインストールしたMySQLのmy.cnfと合わせるというだけですね。

    my.cnfで


    [mysqld]
    port = 3306
    socket = /tmp/mysql.sock

    と設定しましたので、

    php.ini中の

    mysqli.default_port = 3306
    mysqli.default_socket = /tmp/mysql.sock

    をmy.cnfと合わせて記述します。

    phpMyAdminの設定ファイル、config.inc.php(無い場合は、config.sample.inc.phpをリネームorコピーしてください)の

    $cfg['blowfish_secret'] = 'hoge-blowfish';
    $cfg[’Servers’][$i][’auth_type’] = ‘cookie’;
    $cfg[’Servers’][$i][’extension’] = ‘mysqli’;

    extensionをmysqliに変更します。
    auth_typeはお好みで、auth_type=cookieの場合はblowfish_secretを設定しなくてはいけません。

    MySQLは大体パッケージで入れてしまうので、久々にソースからインストールした時に少し戸惑ってしまった、というメモでした

    « 前のページ

    Powered by PHP-SeeD and WordPress ME