タグ

mysqlに関するtykiのブックマーク (16)

  • れぶろぐ - [MySQL] MySQL 4.1 以降の文字化け問題

    MySQL 4.1 以降の文字化け問題 先に結論を書いておく。 skip-character-set-client-handshake オプションを使いましょう。 それで解決します。 今回、MySQL 4.0 → 4.1 に移行しようと思い、 あちこちで情報を集めて回ったが、 init-connect を使えばいいとか、 そのはずなのになぜかうまくいきませんとか、 いろいろ書いてあって混乱させられた。 結局、 日 MySQL ユーザ会のサイトの FAQ に載っている情報が、一番詳しくてまとまっていると思うので、 そちらの情報を一読することをオススメする。 が、せっかくなので、 自分なりに理解したことをまとめてみる。 (以下の説明で、**** の部分は utf8 か ujis か sjis のいずれか) MySQL 体の設定 バイナリで配布されている MySQL は、 大抵はデフォ

    tyki
    tyki 2007/11/30
  • ちょっと使えるMySQLの小技5つ+1

    mysql> SELECT * FROM user_m; +---------+----------+---------------------+ | user_id | name     | create_datetime     | +---------+----------+---------------------+ |       1 | atsushi  | 2007-05-17 21:53:40 | |       2 | joe      | 2007-05-17 21:53:59 | |       3 | masahiro | 2007-05-18 21:54:02 | |       4 | saito    | 2007-05-18 21:54:05 | |       5 | yuka     | 2007-05-18 21:54:10 | +---------+

    ちょっと使えるMySQLの小技5つ+1
  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

  • なければ INSERT、あれば UPDATE

    間違って主キーと同じ値を含む行を挿入しようとしたらエラーを出して教えてほしいとき INSERT INTO test VALUES(1,100); とすると、ERROR 1062 (23000): Duplicate entry '1' for key 1 というエラーが出る。 間違って主キーと同じ値を含む行を挿入しようとしても無視して処理を続行してほしいとき INSERT IGNORE INTO test VALUES(1,100); とすると、Query OK, 0 rows affected (0.00 sec) と表示される。テーブルは変更されていない。 主キーと同じ値を含む行がないなら新しく挿入し、あるならその行を更新してほしいとき REPLACE INTO test VALUES(1,500); とすると、Query OK, 2 rows affected (0.00 sec)

  • Tagの検索にMySQLの全文検索を使う : blog.nomadscafe.jp

    Tagの検索にMySQLの全文検索を使う Tags with MySQL fulltextを参考にして試してみた。 Femoの中で、タグの絞り込み機能を実装したのに続いて、「完了」や「finish」と言ったタグがついている場合表示しないというオプションを考えている。 そうなってくると、SQLをどう書けばいいのか、また複雑なSQLを構築したときにパフォーマンスは大丈夫なのかと心配。そこで、上記のURLを参考にしながらMySQLの全文検索に注目。 create table ft_tags( id int unsigned not null auto_increment primary key, tags text, unpack text, fulltext (unpack) ) と言うテーブルを作成。 ここに、 my @tags = ( q/task femo/, q/femo mail t

  • bk-mysql

    このドキュメントは最近メンテされていない項目が数多くあります。 リンクが切れていたり、現状のmysqlでは直っていたり、変更されている可能性が多々。 その点だけ注意して下さい。 InnoDBへ移行する際に把握しておかなくてはいけない事affected_rowsは英語で「影響を受けた行数」という意味疑似csv形式で出力するソースからの構築時のトラブルなんかよく分からないけどmysqlが重い時mysql_use_result()とmysql_store_result()の違いSHOW TABLE STATUS;my.cnfDBのエンコーディングとVARCHAR(n)の関係リファレンスレプリケーション一行だけmysqldumpするテーブルが破損した時にmysqlをとめずにバックアップを取る場合のパターンなんかよく分からないけどエラーが出た時テーブルの構造を、CREATE TABLEフォーマットで

  • SQL Injection Cheat Sheet

    Examples; (MS) means : MySQL and SQL Server etc. (M*S) means : Only in some versions of MySQL or special conditions see related note and SQL Server Table Of Contents About SQL Injection Cheat Sheet Syntax Reference, Sample Attacks and Dirty SQL Injection Tricks Line Comments SQL Injection Attack Samples Inline Comments Classical Inline Comment SQL Injection Attack Samples MySQL Vers

  • MySQLで全文検索 - FULLTEXTインデックスの基礎知識|blog|たたみラボ

    tatamilab.jp

    tyki
    tyki 2007/03/15
  • MySQL FULLTEXT Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について|blog|たたみラボ

    tatamilab.jp

    tyki
    tyki 2007/03/15
    Sennaを使わずに日本語全文検索を実現する手法。
  • サイズの小さいphpMyAdminの機能縮小版「PHP Mini SQL Admin」:phpspot開発日誌

    phpminiadmin - PHP Mini SQL Admin phpminiadmin - Lightweight alternative to heavy phpMyAdmin for easy access MySQL databases. サイズの小さいphpMyAdminの機能縮小版「PHP Mini SQL Admin」 スクリプト自体は10KBほどしかないそうです。phpMyAdminが10MB以上あることを考えるとすごく小さいですね。 スクリーンショット集 phpMyAdmin程の高機能は必要ないけど、ブラウザ上で実行できるSQLクライアントとして一応用意しておきたい、という場合に使えそう。 簡単にインストールできてサイズも小さいので小回りが利く感じですね。 関連エントリ Ajaxを使ってその場でMySQLの値を書き換えられるウィジェット作成ライブラリ「MySQLPHP

    tyki
    tyki 2007/03/12
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • MySQL 文字化け問題を本気で直す

    mysql> status; -------------- mysql Ver 14.7 Distrib 4.1.20, for redhat-linux-gnu (i386) using readline 4.3 Connection id: 36 Current database: staff2006 Current user: maiha@localhost SSL: Not in use Current pager: lv Using outfile: '' Using delimiter: ; Server version: 4.1.20 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client char

  • mregexp - MySQLで日本語の正規表現を扱う

    更新日: $Date: 2006-09-29 09:21:22 $ UTC ($Revision: 1.10 $) 公開日: 2004/04/13 目的 今のところ(mysql 4.0.27, 5.0.24a)、MySQLのネイティブ関数REGEXPは日語の文字列を正しく処理できません (一方、LIKEやSUBSTRINGなどは日語の処理に対応しています)。そこで日語をきちんと扱える正規表現関数、mregexpというものをユーザー定義関数(UDF=User Defined Function)という仕組みを用いて作りました。 機能 パターン'あ.う'が文字列'あいう'にマッチしません。 正規表現の「.」が、任意の1文字ではなく、任意の1バイトにマッチしてしまうからです。 ● LIKEは期待通り「あいう」がマッチするが、 mysql> SELECT * FROM regexp_test

  • cl.pocari.org - 拡張され続ける InnoDB のデータファイルのサイズを小さくする方法

    拡張され続ける InnoDB のデータファイルのサイズを小さくする方法 2006-07-07-2: [MySQL] MySQL でトランザクションを可能にするストレージエンジンとして InnoDB があります. InnoDB のデータファイルは,MyISAM テーブルと異なって,デフォルトでは ibdata1 というファイルにデータが蓄積されていくとこになります. MySQL の datadir に自動拡張する 10 MB の ibdata1 ファイルが 1 つと、5 MB の ib_logfile ログファイルが 2 つ作成されます - 7.5.3. InnoDB 起動オプション http://dev.mysql.com/doc/refman/4.1/ja/innodb-start.html この ibdata1 は,大量のデータを追加していくと,自動的にサイズを拡張していきます. ただ

  • [MySQLウォッチ]第28回 MySQL 5.1期待のクラスタリング機能

    数カ月前にMySQL 5.1 GA版 のリリース見通しを5月と記述したが,残念ながら下半期に突入した現在もBata版にとどまっている。バージョン5.0から5.1へのアップは,番号としてはポイント以下のマイナー・バージョンアップだ。しかし,非常に大きな期待を持って待っているユーザーも多いだろう。それは,MySQL 5.1 からMySQL Clusterがストレージ対応になるからだ。 今回は,MySQL 5.1 GA版 のリリース準備として,期待の高まるMySQL Clusterのストレージ対応を紹介する。 MySQL Cluster の登場 もともとMySQL Clusterは,NDB Clusterという商品だったものをMySQL ABが自社製品として取り込み,MySQL 4.1.3 (RPM版はMySQL 4.1.10)から実装が始まった。それ以前は,標準機能のReplicationかサ

    [MySQLウォッチ]第28回 MySQL 5.1期待のクラスタリング機能
    tyki
    tyki 2006/07/18
  • MySql4.1以上の日本語に関する問題点まとめ

    ライセンスはどうなっていますか?商用利用ではどうすべきですか? † GPL か 有料のライセンスか。 2007年1月1日時点では Community : GPL Enterprise : 有料で別のライセンス GPL については http://www.gnu.org/home.ja.html をご覧ください。 ↑ mysqld が最低必要とする物 † basedir/share/ ディレクトリ以下(shareファイル。errmsg.sys や charsets/) datadir/mysql/ (mysql 権限データベース、テーブル) 権限テーブルや charsets/ がなければ mysqld は起動しない。 errmsg.sys はバージョンによって数が違うので、違うバージョンの errmsg.sys を使用していると mysqld が起動しない。 これらが起きた場合、.err ファ

    tyki
    tyki 2006/07/06
    4.1以上にupgrade する際の各種注意点。
  • 1