タグ

mysqlに関するdkjのブックマーク (53)

  • 誰も教えてくれなかったMySQLの障害解析方法 - Qiita

    それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'

    誰も教えてくれなかったMySQLの障害解析方法 - Qiita
    dkj
    dkj 2014/07/12
  • MySQL DATETIME型へのINDEX注意点 | perlとMysqlでCGI & サーバ管理 漏れ的メモ

    MySQLのDATETIME型へインデックスをつける場合注意が必要。 例えばこんなSQLではインデックスが使用されない。 SELECT * FROM table WHERE datetime LIKE '2009-05-17%' 検索結果は2009-05-17分全てが抽出されるが、フルスキャンがかかる。 この場合、以下のようなSQLが良い。 SELECT * FROM table WHERE date_time BETWEEN '2009-05-17' AND '2009-05-17' + INTERVAL 1 DAY 実行時間計測の例 行数:13,776行 データ:2,935KB インデックス:datetime SELECT SUM( col ) FROM table WHERE datetime LIKE '2009-05-17%' フルスキャン 実行時間:0.0235 秒 SELEC

    MySQL DATETIME型へのINDEX注意点 | perlとMysqlでCGI & サーバ管理 漏れ的メモ
    dkj
    dkj 2013/12/25
  • chef で mysql のユーザやデータベースを管理する - Hack like a rolling stone

    以前、ある環境のデータベースを作ったときは、忙しくて手が回らないという理由で ユーザやデータベースのセットアップは script リソースを作ってえいやと済ませてしまった tk0miya です。こんにちは。 今回はすべて community cookbook で環境を作る方法をまとめてみました。 やり方が分かってしまえばシンプルに実現できるので、泥臭く script リソースを作らずに済みそうです。 鍵は database cookbook ユーザやデータベースを作るレシピmysql cookbook に入っていないため、 公式には提供されていないものといままで諦めていたのですが、 調べてみると mysqll cookbook ではなく database cookbook でリソースが提供されているようです。 以下、README の説明です。 The main highlight of

    chef で mysql のユーザやデータベースを管理する - Hack like a rolling stone
  • mysqldumpでStored ProcedureをDumpする

    通常のmysqldumpではtrigerはDumpされるのですが、Stored ProcedureはDumpされないので、"--routines" スイッチを入れればOKです。 mysqldump -uxxx -p --routines _database_name_ > outputfile.sql

    dkj
    dkj 2013/10/29
  • Devsの常識、DBAは非常識

    AWS Summit Tokyo 2016 Developers Conferenceにて発表した資料です。 http://www.awssummit.tokyo/devcon/index.html

    Devsの常識、DBAは非常識
    dkj
    dkj 2013/09/14
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

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

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
    dkj
    dkj 2013/07/12
  • MySQLでVisual Explain

    MySQL Workbenchの次期バージョンである6.0のベータ版が公開された。例によってMySQLのダウンロードサイトで公開されているので、新機能が気になる人はゲットして試してみて頂きたい。見た目が若干今流行りのフラットデザインっぽくなってシャレオツ(笑)な感じに仕上がってる。 ベータ版が公開されたのを記念して、Workbenchに搭載されているナイスな機能について紹介したい。そう、Visual Explainだ。Visual Explainとは読んで字のごとく、SQLの実行計画を視覚的に表現したものだ。SQLが複雑になると、その実行計画は理解し辛いものとなる。 今日はVisual Explain基的な使い方と、それがどのように見えるかを紹介しようと思う。 Visual Explainを使用するには、対象のMySQLのバージョンが5.6以上であり、なおかつWorkbenchのバージョ

    MySQLでVisual Explain
    dkj
    dkj 2013/06/27
  • MySQLで高速日本語全文検索

    Mroongaについて MroongaはMySQL用のストレージエンジンです。すべてのMySQLユーザーに高速な日語全文検索機能を提供します。Mroongaは以前はGroongaストレージエンジンと呼ばれていました。 特徴 最新リリース 2023-08-02にリリースされた13.05が最新リリースです。 インストール 最新記事 Mroonga 13.05リリース! (2023-08-02) Mroonga 13.01リリース! (2023-04-17) Mroonga 13.00リリース! (2023-02-09) Mroonga 12.12リリース! (2023-01-29) Mroonga 12.11リリース! (2023-01-06) Mroonga 12.10リリース! (2022-11-29) Mroonga 12.09リリース! (2022-10-28) Mroonga 12

    MySQLで高速日本語全文検索
  • KLab

    ゲーム事業(KLabGames) KLabの主力事業であるゲーム事業(KLabGames)を紹介します。

    KLab
    dkj
    dkj 2013/01/11
  • MySQLで指定した緯度経度から半径nメートル内検索っぽいのを実現するSQL - 243 inari

    MySQL4.1以降で空間情報を扱う機能が使えるけど、指定した緯度経度から半径nメートル以内の検索が出来ないのが難点です。 かなり大雑把なやり方で半径nメートル検索のやり方を考えてみました。 まず最初に緯度経度の情報を持ったテーブルを作成。 CREATE TABLE `geotable` ( `id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY , `name` VARCHAR(255) NOT NULL, `geom` POINT NOT NULL, SPATIAL INDEX(geom) ) ENGINE = MYISAM ; 続いてデータを挿入。 INSERT INTO `geotable` (`name`, `geom`) VALUES ('上野駅', GeomFromText('POINT(139.777254 35.713768)')

    MySQLで指定した緯度経度から半径nメートル内検索っぽいのを実現するSQL - 243 inari
    dkj
    dkj 2012/07/13
  • Google MapsとMySQLの連携

    こんにちは、アシアルの中川です。 Google Mapsに表示する情報をMySQLのgeometry型で扱う方法を試してみました。 Google Mapsのある地点にマーカーを表示したりすることがある場合、 緯度・経度の情報で地点に表示させることができますが、 データベースにこの情報を保存する場合、lat(float), lng(float)とそれぞれカラムに保存する方法もあるのですが、この方法では各データの位置の関係が非常に扱いにくくなります。 Google Mapsで表示されている範囲内のデータのみ取得したい場合や、 ある地点から近い順に取得する場合などに面倒なことになります。 そこで、MySQL4.1以降で用意されている空間情報を扱う機能の「geometry」型を使用します。 「MySQL 4.1 リファレンスマニュアル :: 10 MySQL における空間情報の機能(日語)」 「

    Google MapsとMySQLの連携
    dkj
    dkj 2012/07/13
  • MySQLによる完全外部結合 - Geekな日記

    MySQLでは、FULL OUTER JOINが使えないので、UNIONで複数のSELECT文のデータの取得を行い、その結果を結合して1つのデータとして取得します。 以下の2つのテーブルに対して完全外部結合を行います。 fruits1 (テーブル名) id name 1 リンゴ 2 オレンジ 4 バナナ fruits2 (テーブル名) id name 1 グレープ 3 モモ 4 イチゴ 5 マスカット 外部結合を使う方法 select f1.id, f1.name, f2.id, f2.name from fruits1 f1 left join fruits2 f2 on f1.id=f2.id union select f1.id, f1.name, f2.id, f2.name from fruits1 f1 right join fruits2 f2 on f1.id=f2.id

    MySQLによる完全外部結合 - Geekな日記
    dkj
    dkj 2012/07/10
  • HAProxy 環境で MySQL 接続時にエラー - akishin999の日記

    久しぶりに自宅サーバにアクセスしてみたら、DB 接続系のアプリが軒並み 500 エラーになってしまっていました。 慌てて調べますが、Rails アプリのログにも、HAProxy のログにも特に異常は見られません。 ためしにコマンドラインから DB への接続を試みると、HAProxy 経由でも直接 DB サーバを指定しても、以下のエラーメッセージが表示されて接続できなくなっていました。 Host 'hostname' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 他のマシンからは接続できるので、どうやらメッセージ通りこの Web サーバのみが弾かれてしまっているようです。 エラーメッセージで検索すると以下のようなページが見つかりました。 MySQL :: MySQL 4.

    HAProxy 環境で MySQL 接続時にエラー - akishin999の日記
    dkj
    dkj 2012/04/26
  • InnoDBの外部キーを削除する。 - 考え得る最高を常に行う

    外部キーの削除がALTERのリファレンスに無かったんで調べてみたら過去のニュースにヒントがあった。 InnoDB が ALTER TABLE DROP FOREIGN KEY をサポートするようになった。外部キーを破棄する場合は、SHOW CREATE TABLE を使って、内部で生成された外部キー ID を検出する必要がある。 http://dev.mysql.com/doc/refman/4.1/ja/innodb-news-4-0-13.html -- 外部キーID名を参照する。 SHOW CREATE TABLE tbl_title;↑を実行すると↓の結果が返ってくる。この場合だと外部キーIDはfk_tbl_title_tbl_categoryになる。 : CONSTRAINT `fk_tbl_title_tbl_category` FOREIGN KEY (`category_i

    InnoDBの外部キーを削除する。 - 考え得る最高を常に行う
    dkj
    dkj 2011/12/01
  • Firebird の SQL文

    Firebird の SQL文(おぼえがき) 2008/12/6 更新 なんだか、いつも忘れちゃうので、最低限使うものの例を書いておくことにします。Firebird 全般に対するメモは Firebird関連のページに置いておきます。 もっとよいドキュメントは、Firebird SQL リファレンスにあります。 RDBを移行した時のメモも参考になるかもしれません。 ストアードプロシージャについては書いてませんので、 Introduction to InterBase Stored Procedures and Triggers 辺りをあたってください。 例示してある SQL文は、一応ストーリー立ててあるので、直前の SQL文も見ると判り易いかもしれません。 テーブル作成 CREATE TABLE foo ( a INTEGER NOT NULL, b VARCHAR(30) NOT NULL

    dkj
    dkj 2011/11/29
  • FOREIGN KEY制約(外部キー制約を設定する)

    テーブルを作成するときにカラムに FOREIGN KEY 制約(外部キー制約)を設定することで、対象のカラムに格納できる値を他のテーブルに格納されている値だけに限定することができます。ここでは MySQL における FOREIGN KEY 制約の使い方について解説します。 FOREIGN KEY制約(外部キー制約)とは FOREIGN KEY制約(外部キー制約)とは親テーブルと子テーブルの2つのテーブル間でデータの整合性を保つために設定される制約です。次の図を見てください。 参照する側の子テーブルにある部署カラムに対し、相手側として参照される側の親テーブルにある部署カラムとを指定して FOREIGN KEY 制約を設定します。するとこの2つのカラムでは整合性が保たれるように設定されます。 具体的には子テーブルにデータを追加するとき、 FOREIGN KEY 制約が設定されたカラムには、親テ

    FOREIGN KEY制約(外部キー制約を設定する)
    dkj
    dkj 2011/11/29
  • MySQL InnoDBの外部キー

    このような場合、「著者テーブル」は親であり、「書籍テーブル」は子になっています。 「書籍テーブル」の著者コードは、「著者テーブル」の著者コードにレコードが存在している必要があります。 しかし、実際には「著者テーブル」に存在しない著者コードを「書籍テーブル」にレコード追加できてしまいます。 外部キー制約を利用すると、こういった「親にないレコードを子供に追加」することや「子供が存在するのに親のレコードを削除」するなど、来は有り得ないデータ変更をMySQLサーバが自動チェックしてくれるようになります。 外部キー制約の作成 上記の例では、次のようにして外部キー制約を設定できます。 外部キーを作成する場合、子供側にキーが必要なので、まずキーを作ります。 ALTER TABLE 書籍テーブル ADD KEY (著者コード); 外部キーを作ります。 ALTER TABLE 書籍テーブル ADD FOR

    dkj
    dkj 2011/11/29
  • ちょっと使える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
    dkj
    dkj 2011/11/28
  • 画像もDBに格納して管理する -扱いがめんどうなLOB(ラージオブジェクト)は使わない方法も含め

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: Health Insurance High Speed Internet Work from Home Healthy Weight Loss Best Penny Stocks Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy

    dkj
    dkj 2011/11/18
  • MySQLで INSERT時に重複する KEYが既に存在する場合の動作のオプション

    ► 2018 (1) ► 1月 (1) ► 2017 (4) ► 6月 (3) ► 5月 (1) ► 2016 (15) ► 12月 (4) ► 11月 (1) ► 10月 (2) ► 7月 (3) ► 6月 (1) ► 5月 (3) ► 1月 (1) ► 2015 (13) ► 12月 (1) ► 10月 (1) ► 9月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (2) ► 2月 (3) ► 1月 (3) ► 2014 (11) ► 12月 (1) ► 9月 (2) ► 8月 (2) ► 6月 (1) ► 4月 (4) ► 2月 (1) ► 2013 (15) ► 12月 (3) ► 11月 (3) ► 8月 (2) ► 7月 (4) ► 5月 (1) ► 4月 (2) ► 2012 (7) ► 10月 (1) ► 7月 (1) ► 4月 (3) ► 1月 (2) ► 20

    dkj
    dkj 2011/11/08