Database JUNKY

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

MySQL

MySQL5 分離レベル ~ transaction_isolation

すごーく、いまさらなんですが、MySQL5.5から分離レベルが実装されました。もはやMySQLは商用データベースレベル!当方5.5が出て散々騒がれたときには何も触らないで、つい最近やっと検証するようになり気づいたのですが、何するにしても、なんかロックが多…

MySQL ストアドファンクションを利用してJSON形式のファイルを生成する

こんばんわ、まあ、たんなる文字列遊びなんですが、MySQLのストアドファンクションを利用して、JSON形式のデータにコンバートする関数を作ってみました。 つかってみて意外と便利だったので以下に掲載します。

Lost connection to MySQL server during queryの対策について

うー。。どんどんストアドプロシージャがおかしくなってくる。。。。 こんどはこんなエラーが・・・。 mysql> select fnc_XXXXX(999,35.672558912630656,139.7632384300232,100,3,5); Lost connection to MySQL server during query ・・とまあ、ストアドプ…

Table './mysql/proc' is marked as crashed and should be repaired の対処方法

MySQLのストアドプロシージャを書いていたら、何が引き金だかこんなエラーを出力するようになった。 Table './mysql/proc' is marked as crashed and should be repaired んーと、つまり、MyISAMで管理しているストアドプロシージャテーブルが壊れたからなん…

MySQL Blackhole & Replication パフォーマンス検証

昔書いたのですが、再度掲載します。 昔書いた内容としては、結果的に話と、マスタ: をBlackholeエンジンでスレーブを、MyIsamエンジンにすると、BlackHoleエンジンが、データをキューイングする働きをし、更新のパフォーマンスが大幅に向上するよって話で…

CASEと共通表式を応用した集計SQL

本来は、SQLでやるんじゃなくて、テーブルの設計とかプログラミングの過程で設定するのがベストだと思うのだけれども、急な調査でたとえば、「現在登録されているユーザーで各キャリアの分布をすぐとってほしい」なんて依頼があったらこんな形でSQLを発行す…

MySQL データを横に倒して表示させるSQL

どうタイトルをつければよいのやら悩んだ。。けど以下のようなデータを、横に並べて一覧、結果を返すことをするには、SQLでこう書くのだよっていうサンプルです。IBM DB2を利用しているときも悩みましたが、MySQLはもっと悩みました。

統合監視ツール:zabbix ~①server インストール

このサイトも気づいたときには、サーバが20台くらいある状態で、もはや一台二台サーバダウンしていたとしても、数週間、いや数ヶ月知らなかったなんてこともあり、そう、管理はぐだぐだなんです。せめてサーバが落ちたときくらい、メールかなんか飛ばして確…

mysql: 全文検索エンジンを使ってみる : senna/Tritonnの利用

ここのwordpressも全文検索エンジン入れたらきっと速くなると近いつつ、インストールしてみました。インストールは意外と簡単(むしろ調べるのに時間がかかったかな?)でした。そもそもsennaって何?なんですが、sennaサイトの文言をそのまま引用しておきま…

shellと組み合わせて使うmysqlコマンドとかのメモ

色々と組み合わせて使えば、mysqlの運用が楽になるかもしれません。使えそうなものをピックアップしてみました。運用の側面からも、監視の側面からも、shellは覚えておいたほうが良いと思います。まあ、みさなまはもっとかっこいいことをやっているかもしれ…

mysql: 登録されているインデクスを確認する方法

mysql でテーブルの索引がどう設定されているのか知りたいときがあると思うのですが。その場合って [SQL] mysql > show index from TABLE_NAME; [/SQL] で確認できるのはご存知かと思います。 じゃあ、索引が設定されているかいないかわからないテーブルの索…

mysqlの文字コードを確認する

データベースを新規構築する前に、設定が指定した文字コードになっているか確認しましょう。 間違えた文字コードの設定で構築してしまうと、後の文字コードの変更が大変になっちゃいますよ。 以下は、DBMS、DB,テーブル,カラムの確認方法です。

遅いクエリーを検出する②~ mysqldumpslowの活用

インデクスチューニングしようと、漠然と、tail -f mysqld-slow.log を確認しようと思ったら、ウチの会社に協力していただいている某社さんから、「もっと簡単に見れるツールがあるよ」といわれました。それが mysqldumpslow 何それ?。。。

shellで使えそうなMySQL コマンドメモ

もっと効率のよい方法があるのかもしれませんが、このあたりのSQLはこぴぺすれば、shellの一部に活用できそうかな?と思いましてメモしておきます。

遅いクエリーを検出する①

mysqlにかかわらず、データベース全般のチューニングの基本は、まず、インデクスを貼るってことだと思います。 mysqlでは特に、レプリケーションとか、クラスタリングとか、とにかくそちらでなんとかしようって動きになってしまいがちがですが、他のDBMSでは…

mysql5.1 検証:パーティションをまたぐ検索の動き

レンジパーティショニングの設定をしたテーブルをSQLで条件を指定して実行した場合、パーティションはどのような挙動をするのか?を検証してみました explain partitionsなんていう便利なコマンドがあり、検証が楽勝でした。まだまとめきれていないので、す…

検証!!MySQLトリガを試してみる

MySQLトリガを試してみる Trigger..DB2の時もそうだったけど、運用が大変なんだよな。。と思いつつ、何かDBをやるたびに、突如トリガを試してみたくなったので検証してみました。 今回の検証では、ソーステーブルに、INSERT,UPDATE,DELETEが走った場合、trig…

mysql:検証!レンジパーティション表でパーティションキーを変更

レンジパーティショニングの設定でプライマリキーを変更した場合、パーティションの再割り当てをしてくれるのか? を検証してみました。そりゃそうだよね?という結果でしたが、なんか感動しました。

mysql 特定のテーブルのみバックアップする方法(wordpress)

当サイトのwordpressデータベースのうち対象のテーブルのみバックアップする方法です。 mysqldump wp_squad -u root -p wp_postmeta wp_posts wp_term_relationships wp_terms 以上、実際これだけなのですが、このテーブル単位のdumoが取れることによるメリ…

こんなに簡単!wordpressのインストール

書くまでもないのですが、毎回同じところで作業がとまってしまい。(特に認証系)学習能力がない僕なので、証跡を残しておきます。次回は、これと同様の手順を踏んでやっていこうかと

OSSなDWH InfiniDB の話 ⑤ ~リアルタイムDWH化について

前回に引き続き、DWH(データウェアハウス)である、InfiniDBの話です。 DWHは、Data Warehouse という意味で、データの倉庫って意味合いです。 なので、利用の方法を考えると、データに即時性があまり必要なく、大量のデータを分析する用途で使うケースが多…

OSSなDWH InfiniDB の話 ④ ~InnoDB エンジンと共存する方法

いまさら気づいたのですが、Infinidb には、標準のセットアップでは、InnoDBが入っておりません。標準でインストールされているストレージエンジンはCSV、MRG_MYISAM、MEMORY、 MyISAM、InfiniDBの5つのエンジンのみになります。DWHがメインの利用方法なの…

OSSなDWH InfiniDB の話 ③ ~データのロード

前回の投稿で、郵便番号テーブル(zip) を作成しました、今後はこのテーブルの中に、 郵便番号データをロードする方法を説明します。まあ、普通にやれば、mysql 同様、LOADでやれば良いのですが、InfiniDBならではのロード方法、バルクローダーについてここ…

OSSなDWH InfiniDB の話 ② ~データベース構築

今回は、mydbidbというデータベースを作成し、郵便番号テーブルを生成するところを説明いたします。 尚、認証の設定につきましては、MySQLと同様の設定になりますので、ここでは割愛させていただきます。

OSSなDWH InfiniDB の話 ① ~インストール

OSSのDWHで、infinidbというものがあり、競合OSSのInfoBright、LucidDB、MonetDBよりも、高いパフォーマンスを出しているとのことで、あ、パフォーマンスにつきましては、以下のURLをごらんください。 http://www.mysqlperformanceblog.com/2010/01/07/star-…

DRBD でHA環境を構築(CENTOS 5)

最近DRBDっていう、HAソフトがはやっているっぽいので、ちょっと試してみました。。DRBDって何?に関しては、 googleで調べてみてください。利用範囲は多岐にわたり、たとえばデーベースであったり、ファイルサーバであったり色々と使える場面があるかと思い…

MySQL から mongodb にデータを移行するphp

MySQLのデータを、mongoDBデータを移行するphpのスクリプトサンプルです。プログラムが残念なのは、 僕がど素人なので、本当に許してください。 以下がphpのスクリプトサンプルになります。(正直なところ、csvをインポートするツールとかあってもおかしくな…

Win で作成した、MySQL ODBC DSNが削除できない(汗) Invalid attribute string

Windows7 + mysql-connector-odbc-5.1.7-win32 で、MySQLを、Ms-Accessからリンクできるよう設定をしたのはいいが、そこから先 でそのドライバを削除することができない!!!(つか変更することもできない) こんなメッセージがダイアログに表示されます。 …

mongodbのインストール

インストールは書くまでもなく簡単です。また簡単なのはインストールのみならず、シャーディングやレプリケーションもコマンド一発でいけるところ、MySQLも簡単なのですが、それを上回る簡単さです。今回はそんな、mongdbのインストール方法について記載しま…

キャッシュを開放するコマンド(vm.drop_caches)

DB2、いや、データベースを稼動しているサーバでふと物理メモリを見ると、「うわ!こんなにメモリを食いつぶしている」なんてことありますよね。 例えば、DB2ですと、上限を設定しているはずなのに、上限以上のメモリを食っているなど(汗)、この現象が、DB…