タグ

MySQLに関するionisのブックマーク (79)

  • http://www.res-system.com/weblog/item/550

    ionis
    ionis 2010/03/19
    mysqlのインデックスは1テーブルにつき1個しか機能しない。どうしても複数のインデックスを使いたい場合は複合インデックスというのを新たに定義する。15カラム制限の子。
  • データをグループ化する(GROUP BY句)

    GROUP BY 句を使用すると指定したカラムの値を基準にデータをグループ化することができます。グループ化することでデータの数を数える COUNT 関数やデータの平均を計算する AVG 関数をグループ毎に行うことができます。ここでは MySQL で GROUP BY 句を使ってデータをグループ化する方法について解説します。

    データをグループ化する(GROUP BY句)
    ionis
    ionis 2010/03/05
    group byを複数指定すると、その組み合わせが同じデータをまとめる。
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: B.3.2.7 MySQL サーバーが存在しなくなりました

    クライアントはサーバーに書き込むときにエラーを受け取りませんでしたが、問い合わせに対する完全な応答 (または何らかの応答) が得られませんでした。 デフォルトでは、何も発生しなかった場合、サーバーは 8 時間後に接続を閉じます。 この時間制限を変更するには、mysqld を起動するときに wait_timeout 変数を設定します。 セクション5.1.8「サーバーシステム変数」を参照してください。 スクリプトがある場合、クライアントが自動再接続を行うには、クエリーを再発行する必要があるだけです。 これは、クライアントの自動再接続を有効にしている (mysql コマンド行クライアントのデフォルト) ことが前提です。 「MySQL サーバーが存在しなくなりました」というエラーのほかの一般的な原因を次に示します。 ユーザー (またはデータベース管理者) が実行中のスレッドを KILL ステートメ

    ionis
    ionis 2010/02/25
    8時間接続しっぱなしなのに、何もしてこない時とか、大きすぎるか異常のあるパケットをmysqlが受け取るとcloseして、このエラーが出るんだって。
  • MySQL server has gone away エラー - satake7’s memo

    常時起動している Rubyスクリプトで「MySQL server has gone away」というエラーが出てビビリました。ActiveRecord使ってるからいけないのかとか、自分の書き方が悪くて(Rubyが)メモリリークしてるんじゃないかとか、簡単に解決しそうにない方向に想像がいってしまったのですが、ググればすぐ解決方法が見つかりました。「案ずるより産むが易し」、「心配するくらいならググれ」ですね。 どういうエラーか MySQLのリファレンスマニュアルによると、「MySQLサーバはデフォルト設定では、何も起きない状態が 8 時間続くと接続をクローズします」だそうです。接続がクローズされた状態で MySQLサーバにアクセスにいくと「MySQL server has gone away」となるわけです。 どうするか 8時間、誰もアクセスしないということ自体、サイトの運営としてどうなの? 

    MySQL server has gone away エラー - satake7’s memo
    ionis
    ionis 2010/02/25
    デフォルトでは8時間オープンしっぱなしにすると、コネクションをcloseされるらしい。そりゃそうかw
  • mysql:13823

    From: "Yoshinori Matsunobu" <"Yoshinori Matsunobu" <ymatsunobu@xxxxxxxxxx>> Date: Mon, 26 Mar 2007 07:21:43 +0900 Subject: [mysql 13823] MySQLの現行UTF-8の問題とその対処方法について 松信です。 現時点で、MySQLの日語問題の中で関心が高い項目である、 UTF-8 4バイト文字の扱いについて、 問題の内容、現時点で取れる対処法、およびMySQL ABが 計画している対処案(現行utf8の改良)を以下に記述します。 計画中の対処案については、将来のバージョンで実装されることは確実ですが、 強い要望またはコミュニティからの貢献が無い限り早期の対応は難しいです。 強い要望のある方は、直接私までお知らせ下さいますようお願い致します。 以下、長文ですが

    ionis
    ionis 2009/11/24
    mysql6からは4バイトでもいけるっぽい?けど、それまでは3バイトまでしか無理っぽいというようなお話。2007年の話。
  • MyNA Web Site

    Home 資料置き場 作者プロフィール † 氏名:松信 嘉範 (MATSUNOBU Yoshinori) 所属:サン・マイクロシステムズ株式会社 役割:MySQLコンサルティング Blog:http://opendatabaselife.blogspot.com/ Twitter:http://twitter.com/matsunobu ↑

    ionis
    ionis 2009/11/20
    Linux/MySQLのチューニングやら、ハッキングの手引きやら、様々な資料が置いてあるところ。
  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
    ionis
    ionis 2009/11/13
    何か起きても、ぐっすり眠るためらしい。
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
    ionis
    ionis 2009/10/28
    explainを分かりやすく。
  • なんかばんざい | MySQLの変な癖、あるいはPostgreSQL使いがMySQLと接するときの心構え

    はじめに PostgreSQLのクエリプランナ/クエリオプティマイザは非常に優秀です。ユーザーはただ自分が欲しいデータをSQLで記述し、酷使するカラムに対してインデックスを張ってやればいいだけです(DB自体が酷使されてるなら細かいチューニングは必須です)。MySQLはそれら一連の最適化を人間が担当することになります。 後で詳しく書きますが、たとえば、"SELECT * FROM foo WHERE id IN (1,2)"と"SELECT * FROM foo WHERE id=1 OR id=2"の2つのクエリを、PostgreSQLはまったく同じように処理します。意味が同じなので当然といえば当然です。MySQLもたぶんここまでは同じです。問題は次。 "SELECT * FROM foo WHERE aid=1 OR bid=2 ORDER BY cid DESC LIMIT 10"

    ionis
    ionis 2009/09/08
    ほー・・・。癖とか考えた事なかったなぁ。。。他のDBも見てみないと。。。か。
  • MySQL - ユーザの操作(作成、パスワード変更、削除)

    MYSQLのユーザ関連コマンドのついて紹介しています。 [toc] ユーザの作成 ユーザ名は半角英数の16文字までです。 構文 GRANT権限 ON *.* TO ユーザ名 IDENTIFIED BY 'パスワード' WITH GRANT OPTION; 全ての権限を与えた場合 ALL PRIVILEGES        =全ての権限を与える WITH GRANT OPTION     =権限の書き換えを許可する 使用例 mysql> GRANT ALL PRIVILEGES ON *.* TO sasuke IDENTIFIED BY 'aaa' WITH GRANT OPTION; Query OK, 0 rows affected (0.03 sec) 一部権限、SELECT,INSERTのみ与えた場合 使用例 mysql> GRANT INSERT,SELECT ON *.* TO

    MySQL - ユーザの操作(作成、パスワード変更、削除)
    ionis
    ionis 2009/07/28
    なんか毎回調べる気がするので。
  • メモの日々(2006-02-15)

    ■ [db] MySQL(4.0.26)が起動しなくなった my.cnfにInnoDBに関する設定項目を追加したら起動しなくなってしまった。エラーログを見ると InnoDB: Error: log file /xxxx/ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in the .cnf file 0 67108864 bytes! とあり、ib_logfile0というファイルのサイズがmy.cnfにある設定値と異なるので起動できないようだ。設定値を変えたのだからサイズが違うのは当たり前だ。 新しい設定値を反映させる方法があるのかと思って調べたが分からなかった。InnoDBのログファイルのサイズは途中で変えることができないのだろうか。 MySQLのフォーラムに同じようなエラーへの回答があって、

    メモの日々(2006-02-15)
    ionis
    ionis 2009/07/24
    my.cnfにInnoDBに関する設定項目を追加した時起動しない事があるらしー
  • MySQL/Ruby終了のお知らせ

    2. 自己紹介 ✓ とみた まさひろ ✓ tommy@tmtm.org ✓ ID: tommy とか tmtm とか tmtms とか ✓ Ruby歴 十数年 ✓ MySQL歴 十数年 1/72 Powered by Rabbit 0.6.1

    MySQL/Ruby終了のお知らせ
    ionis
    ionis 2009/07/23
    AR使っているとあまり気にならないけど。面白いスライド。
  • ウノウラボ Unoh Labs: 国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く

    こんにちは。中村です。 MySQLにはMyISAM、InnoDBCSVなどのいくつかストレージエンジンがありますが、皆さんはSpiderというストレージエンジンを聞いたことはありますでしょうか。Spider Storage Engineは斯波健徳さんにより作成されたDatabase Shardingを可能にするストレージエンジンでMySQL 5.1で利用可能です。 先日、某集まりで斯波さんとお会いしたときにSpiderを作っているということを教えてもらったので、早速詳しい内容を教えてもらうことにしました。 ※Spiderについての説明資料はMySQLカンファレンス 2009にて斯波さんが発表されたときのスライドがあります。スライドの直リンク(zip) Spider Storage Engine について posted by (C)フォト蔵 Spider Storage Engineとは?

    ionis
    ionis 2009/07/16
    mysql proxy的なノリ。負荷分散とかとか。
  • 僕は木になりたい。。。 : gem install mysql にハマる - livedoor Blog(ブログ)

    Rails2.2.2では、mysqlがデフォルトでは使えず、 gem install mysql をやれと言われました。 やってみる。 $ sudo gem install mysql Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /usr/local/bin/ruby extconf.rb install mysql checking for mysql_query() in -lmysqlclient... no checking for main() in -lm... yes checking for mysql_query() in -lmysqlclient...

    ionis
    ionis 2009/06/24
    ほぼ同じ事やったなぁ。。。懐かしいw
  • MySQLのレプリケーション - riceball blog

    ionis
    ionis 2009/06/16
    実際にやったら、こんな感じだよ。みたいな。
  • 大きめのテーブルにカラムやインデックスを追加する際の注意 - LukeSilvia’s diary

    先日大きめ(といっても500万行くらい)のテーブルにインデックス付きのカラムを追加しようとして痛い目にあったので調査。 大きめのテーブルにカラムやインデックスを追加するとどうなるか 今回は単純に、「ALTER TABLE 〜 」で追加しようとしました。追加するカラムは3つで、 varchar(255) インデックスなし varchar(255) ↓のdate 型カラムとマルチカラムインデックスの形式のユニークインデックスあり date インデックスあり SQL を実行し、状況を「SHOW PROCESSLIST」で監視していたら、1つ目のカラム追加で次のような状態に… 最初にState が「copy to tmp table」状態になり、次の状態に遷移するまで1時間かかる 次にState が「Repair with keycache」状態になり、完了までに1時間かかる 次のカラム追加に対す

    大きめのテーブルにカラムやインデックスを追加する際の注意 - LukeSilvia’s diary
    ionis
    ionis 2009/06/16
    500万行程度でもションボリする事があるんだとか。インデックス付きのカラムをinsertする時。
  • MySQL のJOIN に関するメモ - LukeSilvia’s diary

    内容 FROM 句のテーブルの順番と、MySQL がテーブルをJOIN する順番は別 STRAIGHT_JOIN と eq_ref, ref eq_ref になるようにするために JOIN 条件の書き方 STRAIGHT_JOIN をいつ使うか 今回の検証に用いたMySQL は4.0.26。また、例として、以下のテーブルを用いる。(テーブルは、「逆算式SQL教科書」のもの) [study]> SHOW FIELDS FROM uriage; +-------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------+------+-----+---------+---------------

    MySQL のJOIN に関するメモ - LukeSilvia’s diary
    ionis
    ionis 2009/06/16
    EXPLAINを使って調べてる。見やすい。
  • http://gdgdlog.net/log/show/226

    ionis
    ionis 2009/06/15
    確かによく忘れる。。。
  • MySQL とメモリに関するまとめ - LukeSilvia’s diary

    前回のエントリーデータベースを用いたセッションデータ管理についてで、MySQL とメモリの関係について良く分からない部分があると書きました。 実はここに関する理解はかなり曖昧な部分があって、調査して追記します。とくにメモリ利用量について。mysqld のプロセスが利用できるメモリの上限が、32bit OS の場合は3G 程度ということは、innodb_buffer_pool_size もこの制限を受け、これについての警告が、先に紹介したリファレンスマニュアルのものという理解だけどいいのだろうかというのが1つ。 2 つ目は、この理解があっているとすると、4G 以上のクラスのメモリをつんだサーバをDB サーバとして利用する場合、64 bit OS でないとリソースの有効活用ができないか。それとも、先に書いたとおり、OS レベルのキャッシュとして利用できるから、結果としてデータファイルを読み込む

    MySQL とメモリに関するまとめ - LukeSilvia’s diary
    ionis
    ionis 2009/06/15
    結構まとめられてる気がする。
  • Ruby on Rails + MySQL で全文検索 - ドワンゴ 研究開発ブログ

    このエントリでは Ruby on RailsMySQL を使って日語の全文検索を行う方法を記述する。Ruby on Rails のバージョンは 2.0.2、MySQL のバージョンは 5.0.67、Tritonn のバージョンは 1.0.12、Hyper Estraier のバージョンは 1.4.10 を使用した。サンプルの文章データとして、あらゆる日人にとって極めて身近な著作権切れ文章である『ドグラ・マグラ』と『黒死館殺人事件』を利用した。処理のために整形したデータはエントリに添付しておく。またデータベースへアクセスするコードではマイグレーションを除きできるだけベンチマークを取るようにし、その結果はエントリの最後に記載する。 ページネーション Rails でページネーションを実現する will_paginate という plugin は ActiveRecord に標準でつ