タグ

mysqlに関するo-chaのブックマーク (21)

  • 長年の議論に終止符 -- MySQLとMariaDBの違い一覧 - 技術メモ置き場

    (2014.12.3追記:このblogの内容は、以下の書籍にも反映させた。) SQLレベルの差異 MariaDB5.5とMySQL5.5ではSQLレベルでの違いはほとんどなかった。autoincrementの最大値の扱いくらい。 ただし、MariaDB10.0でREGEXPがマルチバイト対応になったので、アプリ側は注意。 項目 MySQL MariaDB Autoincrement 最大値に達すると、以降は最大値を繰り返す。Warningのみ。エラーにならない。tinyintなら…,125,126,127,127,127… 最大値-1まで。以降はエラーを返す。tinyintなら…,125,126,ERROR,ERROR,… EXPLAIN文 JSON形式 バージョン5.6から 未対応 Optimizer Trace バージョン5.6から 未対応(ただし、MariaDBのほうがオプティマイザ

    長年の議論に終止符 -- MySQLとMariaDBの違い一覧 - 技術メモ置き場
  • MySQLをさらに理解するために読んだ記事まとめ - $shibayu36->blog;

    最近MySQLの勉強をしていました。実践ハイパフォーマンスMySQLを読むべきという話を聞いていたのですが、かなり網羅的に書かれていて、今の知識ではどれが重要なのかわからない状態でした。そこで色々調べてみて、参考になる記事をいくつか見つけたので、少しまとめてみようと思います。 今回まとめた記事を読んで、大体以下のことが理解できました。 インデックスの使われ方とその構造(MyISAMとInnoDB) EXPLAINの詳しい使い方、見方 InnoDBの特性 ALTER TABLEの特性 レプリ遅延 まず最初に Webエンジニアのための データベース技術[実践]入門 (Software Design plus)posted with amazlet at 12.06.02松信 嘉範 技術評論社 売り上げランキング: 9767 Amazon.co.jp で詳細を見る 松信さんの書いた「Webエンジ

    MySQLをさらに理解するために読んだ記事まとめ - $shibayu36->blog;
    o-cha
    o-cha 2012/06/04
  • http://www.movabletype.jp/documentation/mt5/db/mysql.html

  • MySQL 5.0.51をソースからインストールする on CentOS5.1 - Developer☆STYLE

    以下の環境にインストールしたばかりですので、メモしておきます。自分の過去エントリ(MySQL 5.0.45をソースからインストールする on CentOS4.4)を参考にしました。 CentOS5.1 MySQL5.0.51a mysqlユーザの追加 # groupadd mysql # useradd -g mysql mysql MySQLのダウンロードMySQLのサイトはこちらMySQL :: 世界でもっとも普及している、オープン ソース データベースMySQL5.0のダウンロードはこちらからMySQL :: MySQL 5.0 Downloadsここでは5.0.51aのソース(tar.gz)をダウンロードします。 # cd /usr/local/src # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a

  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • 「Can't connect to local MySQL server through socket」エラーについて

    ■ このような場合に参考にして下さい MySQLのクライアントソフト(mysql,PHP,Perl他)からMySQLサーバーに接続しようとすると 「Can't connect to local MySQL server through socket '/tmp/mysql.sock'」 のようなエラーが出て接続に失敗する。 ■ 対処方法の前に まずはじめに、エラーメッセージは次の意味を持ちます。 「ソケット'/tmp/mysql.sock'を通じてローカルのMySQLサーバーに接続することが出来ません」 ソケットとはプロセスやネットワーク間の通信機構のことで、MySQLではこのソケットを通じて サーバーとクライアントとが接続されます。ソケットというとポート番号を指定して利用する方法が 思い浮かびますが、ここでは/tmp/mysql.sockというファイルが出てきています。 これはUNIXド

  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
    o-cha
    o-cha 2009/05/14
  • mysqlでのテーブル分割時の検索手法についてお聞きします。…

    mysqlでのテーブル分割時の検索手法についてお聞きします。 例えば、1億件の日記データをidによって5000万件ずつ別の テーブル(DiaryTable1, DiaryTable2)に分けるとします。 ※分け方は単純に剰余計算。 Insert時はidから剰余計算で格納先テーブルが分かるのでいいのですが、 全日記データから検索を実行したい場合、 DiaryTable1とDiaryTable2からそれぞれselectを実行し、 アプリ側で結果をマージするという処理しかないと思います。 こうすると、データのソートなどアプリ側の処理がかなり複雑化する気がします。 こういった形で複数にテーブル分割を行っていて、 それら全部からどのように(横断検索とでもいうのですかね?) selectを行い、マージをしているか、いい手法があれば教えて下さい。 ちなみに、環境はMysql5 + php5(adodb)

  • mysql テーブルの分割 MERGE テーブル (残心)

    長い間運用中のテーブルが巨大化しクエリが遅くなりファイルの上限サイズ(4G) に達しそうになる。 実験として別サーバに用意したコピー環境で古いデータを削除してみたが処理終了までに物凄い時間がかかり削除にかかるコストは膨大である ということがあらためて判明。 また削除後はフラグメーションになるだけで実際のファイルサイズは変化しない。 ファイルサイズへの反映には optimize table をする必要があるがこちらも膨大な時間がかかる。 従って削除による解決はサービスの長時間停止が必要なので無理っぽい。当は削除したくないし。 で、テーブルの分割 (MERGE テーブル) を実験してみた。 MERGE テーブルとは同じスキーマを持つ複数のテーブルを、あたかも1つのテーブルであるかのようにMERGEして扱える機能。 手順は次の通り。 ・既存のテーブルをリネーム rename tabl

    o-cha
    o-cha 2009/03/02
  • Senna 2.0の展望と、Tritonnで問題が発生している人向け情報 - グニャラくんのグニャグニャ備忘録@はてな

    Senna 2.0βのリリースが見えてきました。 去年の夏に出すと言っていましたが、紆余曲折あっての現状です。 ライバルのTokyo Cabinet/Tokyo Dystopiaについては、 ストレージと全文検索インデックスを分割する方向性です。 mixi engineer blog 今までのSennaはTokyo Dystopiaに近いものでしたが、 Senna 2.0では逆にHyper Estraierのほうに近づく感じになっています。 それぞれ特色が出て面白いですねー。 今回は転置インデックス部分にもかなり手が入っているので、 Senna/Lucene/Tokyo Dystopiaのパフォーマンス比較もやってみたいと思います。 (とはいえ、パフォーマンス比較はそれぞれのライブラリに精通しないと意味のある情報が出せないので、大変ではありますね…) Senna 2.0 + MySQL 5

    Senna 2.0の展望と、Tritonnで問題が発生している人向け情報 - グニャラくんのグニャグニャ備忘録@はてな
  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。

  • Tritonn による検索はスコア値でソートされない - Ceekz Logs (Move to y.ceek.jp)

    最近は、徹夜しながら MySQL + Senna の Tritonn を試している。先日まで、Tritonn を利用した全文検索では、取り出した結果がスコア値でソート(適合度順)されるものだと思っていた。 すなわち、 SELECT * FROM table WHERE MATCH(col) AGAINST('*D+ 検索' IN BOOLEAN MODE); というクエリを発行した場合、結果は TF-IDF に基づく順序だと思っていた。 これは、単なる思い込みで、正しくない。 SELECT *, MATCH(col) AGAINST('*D+ 検索' IN BOOLEAN MODE) FROM table WHERE MATCH(col) AGAINST('*D+ 検索' IN BOOLEAN MODE); こうすればスコア値を表示できるので、スコア順でソートされていないことを確認できた。

    o-cha
    o-cha 2008/09/17
    スコア表示
  • http://www.res-system.com/weblog/item/550

  • Tritonnプロジェクト 〜 MySQL+Sennaによる全文検索 〜 - Tritonnプロジェクト

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • 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

  • Ruby/MySQL - Ruby

    RubyMySQLを使用するには、2つのライブラリがあります。 Ruby/MySQL 長所 Pure Rubyなので、コピーするだけで使用できます。 短所 MySQL/Rubyよりも低速です。 MySQL/Rubyで使用できる機能の一部が使用できません。 MySQL/Ruby 長所 MySQL/Rubyよりも高速です。 短所 インストールにCコンパイラとスーパーユーザの権限が必要です。 インターフェースに互換性があります。 Ruby/MySQLのインストール ダウンロードしたファイルを展開し、install.rb を実行します。 # ruby install.rb mysql.rbを手動でコピーしてインストールすることもできます。 使用方法 mysq.rbをロードする require 'mysql' データベースに接続する #db = Mysql::new("host", "user",

  • [MySQLウォッチ]第36回 文字化けのメカニズム

    文字コードの多様化とインターネットやクライアント-サーバーなどの分散環境の普及によって,文字化けトラブルの頻度が飛躍的に拡大した。特に Webシステムでは,WebブラウザとWebサーバー,プログラム(スクリプト)言語,そしてデータベースと文字化けが発生する要因が数多く存在する。 Webサーバー側の文字化けは,他のコラムにお任せすることとして,今回はMySQLの文字化けに関して解説する。 文字化けの仕組み 文字化けは開発者にとって悩みの種である。しかし,文字化けの仕組みを少しでも知っていれば,意外と簡単に解決できるものだ。このコラムで,ぜひその知識を学んでほしい。 MySQL 4.1の変更点 さて,MySQLにおいては,バージョン4.1のリリースを境に文字化けが起きることが非常に多くなった。では,バージョン4.1は,それ以前のバージョンと何が変わったのだろうか。そこに文字化けを解決するヒント

    [MySQLウォッチ]第36回 文字化けのメカニズム
  • Tony Bourke

    Super Smack (8/30/05): Oops! I had to do a restore of my web content, but I forgot Super Smack, so it was gone for a few days. Sorry about that! It's back now. (5/30/05): Super Smack 1.3 is is released!. Super Smack 1.3 includes the following fixes: PostgreSQL support now builds correctly (tested with 7.4) Super Smack should now build correctly under NetBSD (tested with 2.0.2 by Simon Lundström),

  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysqlMySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

    o-cha
    o-cha 2008/02/17
  • MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」

    サーバのチューニングをする上でかなりやっかいなのがデータベース系。特にログファイルの量が膨大になると後から中身を見て問題を分析するのも一苦労という場合が。そんなときにこのMySQLtopコマンド「mytop」を使えば一体何が起きているのかがすぐにわかるので問題点の把握が容易になります。ベンチマークするときに併用すればかなり効率が良くなるのではないかと。 インストールと使い方は以下の通り。 まずは「mytop」から。以下が公式サイト。 mytop - a top clone for MySQL http://jeremy.zawodny.com/mysql/mytop/ マニュアルは以下にあります。 mytop - display MySQL server performance info like `top' インストールするにはSSHなどを使ってrootでログイン後、wgetでファイル

    MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」