Database JUNKY

MySQL,MariaDBを中心としたブログです

database

MySQL ストアドプロシージャ/ファンクションを使ってみよう!

いやー・・・本当に情報が少なくて苦労した。というか現在進行形で苦労してます。表題の通り、MySQLのストアドプロシージャ/ストアドファンクションの件なのですが、oracle触っているときも、db2触っているときも、「管理が複雑になるから」ともっともらしい…

DB2のバックアップ&リストア

DB2のバックアップ&リストアについての備忘録です。以下のケースの場合の想定で作成されたものになります。 " データベースをオンラインバックアップで取得している。 " データベースのバックアップにログを含めている。 上記条件に当てはまらない場合は、…

MySQL 二点間の距離を正確に出す!~ distance_sphere()

いきなりですが、「MySQLで2点間の緯度・経度から距離算出」が!!前から気になっていたことがありました、 PostgreSQLのPostGISにはあって、MySQLのジオメトリ関数にはない関数、distance_spheroid というもので、回転楕円体で計算で、点間距離を算出する…

知らなかった・・ ALTER TABLE .. ON UPDATE オプションの存在

いやーーー全然・・知らなかったですが・・ALTER TABLEっていうかCREATE TABLEの時も同じですが、ON UPDATE オプションを付けると、データ更新時に指定された値を自動でセットすることができるらしい。。 DEFAULTとは違います!DEFAULT とは。。

CONNECT STORAGE ENGINEを利用した異なるDBMSへの透過的接続

いきなりですがMariaDB 10.XははCONNECTストレージエンジンなるものを持っており、なんと、他のRDBMS製品にあるテーブルをあたかもMariaDB内テーブルのように見せることができるのです! 今回は、IBM DB2をあたかも、MariaDBのデータベースのように見せる手…

mariaDB 10.1 最速インストール手順

掲載するまでもないのですが、コピペでインストールから起動までいけますのでお試しあれ。最新版をインストールしたい場合は、今のところ、http://yum.mariadb.org/ から新しいバージョンを探して、下記のbaseurlの箇所を適宜変更してもらえればOKです

SQLでトリガーのみのmysqldumpコマンドを生成する

日々運用を続けている中でたまーーーにでてくる、定義のみのバックアップ、ストアドプロシージャのみバックアップする、トリガーのみをバックアップなど、そのイベントが発生するたびに、googleで調べるのが面倒なため、前回同様、ほぼ自分用にメモ状態にな…

Treasure Dataからgoogleスプレッドシートにダイレクトに出力する

前回、td-agentを利用してltsvのデータをトレジャーデータに書き込むなんてことをやりました。今回はそのトレジャーデータからGoogle スプレッドシートに直接書き込むなんてことをやってみようかと思います。まぁ結果としてできたことはできたのですが、スプ…

大量のデータのロード時のMySQL server has gone awayエラーについて

大量のデータのロード時に出力されるエラーでたまにでるのが、このメッセージ [shell] ERROR 2013 (HY000) at line 66: Lost connection to MySQL server during query ERROR 2006 (HY000) at line 67: MySQL server has gone away [/shell] ウチだけの環境…

トレジャーデータを使ってみる(treasure-data) *インストール

最近めっきりブログの更新が遅れてしまったのですが、飽きちゃったわけではなく、すごーく一年間忙しかったから更新できなかっただけです。とは言いつつも、何も試していないのです。ここ一年、ビッグデータ、ビッグデータてつい最近騒がれており。私個人と…

MySQL 5.5 を 5.6にアップグレードする(CENTOS 5 RPM)

仕事が忙しくて中々書けなかった・・・ご存知かと思いますが、MySQLの5.6が正式リリースされました。いままで「これがあったら良いのに・・」という機能がてんこ盛りなので、さっそく自分の環境に入れてみようとと思いまして・・・ってよく考えてみたら、MyS…

世界最速のデータベース、memsqlを試してみる

昔、試してみようと思っていて忘れていたインメモリデータベース、memsqlについて話を触れてみたいと思います。このDBMS半年前くらいからあったのですが、「MySQLのメモリエンジンと何が違うの?」と思いつつ結局、後手後手に回り、ついでに存在自体忘れてし…

MySQL Innodb テーブルスペース利用率をさくっと算出する

普段はあまり気にすることはないのですが、運用してから数ヶ月、もしくは数年たった時に「あれ?テーブルスペース内にどれくらいのデータは入っているのだろう?」とか思ったことはありませんか?たとえばこの心配って、MySQLの設定でテーブルスペースを固定…

DB2 でIDENTITY列(オートインクリメント列)を含むテーブルをSQLで抽出する方法

DB2のデータのEXPORT AND LOAD時、カラムにIDENTITY列(オートインクリメント)が存在する場合、ロードはエラーになってしまいます。その場合、LOADのオプションで、identityoverrideを指定することで、IDENTITY列を上書きロードしてくれるのですが、対象の…

MySQL クエリーキャッシュのヒット率を求めるSQL

MySQLのクエリーキャッシュのヒット率を求めるSQLを作成しました。結果キャッシュのヒット率が二割以下の場合は、キャッシュを利用しない設定のほうがパフォーマンスを出すことができます。このクエリキャッシュヒット率をSQLで求められるように作成してみま…

munin 楽々インストールでMySQLを監視する!

MySQLとかの状態監視したいんだけど、なんかいいツールないかな?と思ったのがきっかけて、muninとか入れてみました。負荷監視ツールとして有名なのはMRTGですが、私はよくわからんのと設定がめんどくさそうなので(もちろん人によっては、使いやすいと思う…

MySQLでEXPORT(INTO OUTFILE)したCSVファイルを他DB(IBM DB2)にインポートする方法

MySQLのデータをエクスポートして、他DBMSにデータをインポートする際にツールを使わない場合、たぶん・・なんですが、CSVをというフォーマットを介してデータ移行をするかと思っているのですが、そこで必ず引っかかってくるのが3つあり 1. データベースの…

MySQL: CSVエクスポートをリモートでも対応にする方法 (windows)

毎回毎回、それをやろうとすると、ん?あれ?って思う、MySQLの謎仕様、それがエクスポートコマンドです(汗

MySQL: 文字列の結合に||(パイプ)を利用できるようにする方法

MySQLで文字列結合を利用する場合、concat関数しか使えないと思っておりましたが、他者DBMSのように、パイプ(||)で表現することが可能なことを発見してしまいました。 知らなかった・・。

MySQL: VIEW表を利用してORACLEやDB2のシノニムっぽいものを実現する方法

ちょっと仕事の関係で、とあるデータベースからIBM DB2からMySQLに移行する案件があり、その中で、 一部のデータベースがFEDEARATIONのみで構成されている特殊なものがあり、一応このままでMySQLの FEDERATION構成に移行したのですが。。。なんか気持ち悪い…

プログラミングテストの問題をMySQL ストアドプロシージャで解答する

最近更新していないのすこし休憩・・以下に記載している問題を、SQLなんかでやったら評価的には、おそらく「プログラミング能力不適合者」に認定されること必至なのでマネしないように・・・この問題・・前職での問題なのですが、利用する言語はなんでもよく…

DB2のインデックスの使用状況

chikunaiです。 昔を思い出してDB2のチューニングの記事を書きます。 プログラミングでSQLができた頃合いから、テーブルにどうインデックスを付けるか、チューニング作業が始まります。 db2advisで指摘されるものをそのまま付けようものなら、テーブルがイン…

OSSなDWH InfiniDB 2.2.2最新版をインストールしてみる

OSSのDWH InfiniDBが、VER 2.2.2 にアップしたみたいなので改めてインストール手順書を書いてみました。 InfiniDBは、カラム指向のデータベースで、更新の性能は弱いですが、検索の性能は高いです。また、MySQLのストレージエンジンとして提供されているため…

CENTOS 5系にDB2 EXPRESS-C 8.2をコマンド(CUI)インストールする!!

しばらくibm db2に触らない期間が続き、あれ?どんなデータベースなんだっけ?(汗)という状態に陥ったため、インストールからデータベースを作成するところまでをまとめてました。しかしながら、ただインストールするのはつまらないので、以下の試練を自分…

MySQL: mysqldumpのコマンドオプションメモ

mysqldump(mysql 5.5)のメモです。 いっぱいオプションがありますので、色々なサイトからかき集めてまとめてました。mysql 5.5になってからなのかな?レプリケーション関係(MASTER,SLAVE)のオプションが追加になっているようです。

MySQL : データベース(スキーマ)毎に分割しダンプする方法

ほぼ自分のメモです。表題の件は、1サーバ内に、複数のデータベース(スキーマ)がある場合、データベースごとにダンプファイルを取得したかったためだけに作成したshell(bash)です。

MySQL: 意外と知らない?障害発生時の復旧方法について

障害発生!!!どうする!?でも・・MySQLだと、レプリケーション(スレーブ→マスターの昇格))でほぼなんとかなっちゃうのであまり使われることはないとは思いますが、実はロードフォワード(roll forward)回復もできちゃうんすよwwというほぼ僕のメモで…

MySQL SQLで遊ぶ

SQLを最近忘れてきている・・・よく使うかどうがわかりませんが、集計系でちょこちょこ、「あれ?どうするんだっけ?」と毎回毎回調べるのも面倒になってきたのでメモがてら掲載することにしました。MySQLを例に書いておりますが、別のほかのDBでもいけるか…

MySQL innotop が超便利!!①インストール

innotopとは、linuxのtopコマンドのmysql版みたいなもんです、これを使って流れているクエリーはキャッシュのヒット率や、デッドロック検出や、その他、レプリケーション状態なども見ることができます。もっと細かな情報を簡単にできるコマンドもございます…

MySQL5.5 Semisynchronous Replicationを試してみる ~構築編

MySQLの強力なレプリケーションが、さらに強力になりました!!通常の非同期レプリケーションに加え、新たに半同期レプリケーション(Semisynchronous Replication)が追加になったわけです。非同期ですら充分満足のいく機能だったのに、半同期が追加された…